2017-01-29 7 views
0

큐레이터 TreeCache를 사용하는 경우. 캐시 상태가 리더와 동기화 상태를 유지하고 생성/업데이트/삭제 이벤트가 누락 될 수 있다는 보장이 없음을 이해합니다 (Zookeeper missed events on successive changes). 그러나 내가 이해하는 - TreeCache는 결국 일관성이 있습니다. 질문 : ZK 노드의 변경 사항이 TreeCache 인스턴스로 전파되는 최대 (보장 된) 시간이 정의되어 있습니까?큐레이터 TreeCache 최종 일관성

답변

0

아니요 최대 시간이 없습니다. 참고 :이 것은 TreeCache와는 아무런 관련이 없습니다. 단순히 ZooKeeper가 작동하는 방식 일뿐입니다. 내부적으로 모든 쓰기 작업은 ZK 앙상블의 현재 리더 노드를 통과합니다. 결국 "팔로워"노드는 리더의 데이터베이스와 동기화됩니다. 실제로 이것은 최대 몇 초 만에 이루어질 것입니다. 물론 데이터베이스의 크기, 네트워크, 운항중인 작업 수 등에 따라 달라집니다.

업데이트 : 귀하의 앙상블에 대한 최대 db 동기화를 지정하는 syncLimit의 ZK 인스턴스. ZooKeeper는 syncLimit가 초과되면 시간 초과됩니다. 여기를 참조하십시오 : https://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html

+0

그래서 syncLiimit를 초과하면 폴로 우어가 실패할까요? 이 경우 추종자가 syncLimit 이상을 얻을 수 없다고 말하는 것이 좋습니다. 이게 보장이 아니겠습니까? 분명히 나는 ​​Follower에서 TreeCache로 데이터를 보내거나 클라이언트가 연결된 서버가 실패하면 다른 추종자에게 다시 연결하는 데 추가 시간이 필요하다는 것을 이해합니다. – bbb8989

+0

동기화가 syncLimit를 초과하면 인스턴스가 실패하고 앙상블에서 삭제됩니다. – Randgalt