2012-07-16 4 views
1

나는 사육사 초보자입니다. 3 개의 개별 데이터 센터에 3 개의 노드가 있습니다. 파이썬 pykeeper API에서 데이터를 읽고 쓰는 것이 필요합니까? 그래서 ...동물원 초보자 - 어느 노드를 읽고 쓰나요? 로드 밸런스를 조정해야합니까?

1) 어느 노드를 읽고 쓸 수 있습니까? 그게 그렇게 중요한 건가? 라운드 로빈? 마스터에 쓰고, 슬레이브에서 읽으시겠습니까?

2) 서버가 마스터로 선출 된 것을 어떻게 알 수 있습니까? 내가 신경 쓸까? 아직 알아 내지 못했습니다.

3) 지금은 다음을 사용하여 동물원에 연결합니다.

import zc.zk 
from random import choice 
zk_servers = ['111.111.111.111:2181','111.111.111.222:2181','111.111.111.333:2181'] 
zk = zc.zk.ZooKeeper(choice(zk_servers)) 

이렇게하면 zk 노드가 실패하면 어떻게됩니까? 로드 밸런싱을 위해 HA 프록시 뒤에 노드를 배치해야합니까?

zk 노드에 대한 읽기 및 쓰기에 대한 모범 사례 사용에 대한 조언은 만족 스럽습니다.

감사

+1

아마도 http://zookeeper.apache.org/doc/r3.4.3/zookeeperOver.html 문서를 읽어야합니다. – sbridges

답변

1

일반 모델은 서버 노드의 목록을 클라이언트를 제공하고 전체 클러스터에 연결하는 것입니다. ZooKeeper는 서버 주소 목록을 섞은 다음 서버 주소에 연결합니다. 사육자가 여러 가지 서버를 선택하지 않으면 사육자의 관점에서 노드를 더 추가하여 가로로 확장 할 수 있습니다. 각 노드는 데이터가 요청되는 위치와 위치에 따라 읽기 및 쓰기에 응답합니다. 클러스터는 그것을 넣었다.

관련 문제