При использовании куратора TreeCache. Я понимаю, что нет никакой гарантии, что состояние кеша останется синхронным с лидером, и что события создания/обновления/удаления могут быть пропущены (Zookeeper пропускал события при последовательных изменениях). Однако, насколько я понимаю, TreeCache в конечном итоге будет согласованным. Вопрос: определено ли какое-либо максимальное (гарантированное) время, в течение которого изменение в узле ZK распространяется на экземпляр TreeCache?
Возможная согласованность Curator TreeCache
Ответы (1)
Нет, максимального времени нет. Примечание: это не имеет ничего общего с TreeCache, это просто то, как работает ZooKeeper. Внутри все операции записи проходят через текущий ведущий узел в вашем ансамбле ZK. Узлы «последователи» в конечном итоге синхронизируются с базой данных лидера. На практике это будет самое большее несколько секунд, но, конечно, это полностью зависит от размера вашей базы данных, вашей сети, количества операций в полете и т. д.
Обновление: обратите внимание, что вы настраиваете свои экземпляры ZK с помощью syncLimit
, который указывает максимальную синхронизацию базы данных для вашего ансамбля. ZooKeeper истечет время ожидания при превышении syncLimit. См. здесь: https://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html