Возможная согласованность Curator TreeCache

При использовании куратора TreeCache. Я понимаю, что нет никакой гарантии, что состояние кеша останется синхронным с лидером, и что события создания/обновления/удаления могут быть пропущены (Zookeeper пропускал события при последовательных изменениях). Однако, насколько я понимаю, TreeCache в конечном итоге будет согласованным. Вопрос: определено ли какое-либо максимальное (гарантированное) время, в течение которого изменение в узле ZK распространяется на экземпляр TreeCache?


person bbb8989    schedule 29.01.2017    source источник


Ответы (1)


Нет, максимального времени нет. Примечание: это не имеет ничего общего с TreeCache, это просто то, как работает ZooKeeper. Внутри все операции записи проходят через текущий ведущий узел в вашем ансамбле ZK. Узлы «последователи» в конечном итоге синхронизируются с базой данных лидера. На практике это будет самое большее несколько секунд, но, конечно, это полностью зависит от размера вашей базы данных, вашей сети, количества операций в полете и т. д.

Обновление: обратите внимание, что вы настраиваете свои экземпляры ZK с помощью syncLimit, который указывает максимальную синхронизацию базы данных для вашего ансамбля. ZooKeeper истечет время ожидания при превышении syncLimit. См. здесь: https://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html

person Randgalt    schedule 30.01.2017
comment
Значит, фолловер выйдет из строя, если превысит syncLiimit? В этом случае можно сказать, что ни один фолловер не может отставать больше, чем syncLimit. Разве это не гарантия? Очевидно, я понимаю, что требуется дополнительное время для отправки данных от Follower в TreeCache или для повторного подключения к другому Follower, если тот, к которому подключен клиент, не работает. - person bbb8989; 30.01.2017
comment
Если синхронизация превышает syncLimit, экземпляр выйдет из строя и будет удален из ансамбля. - person Randgalt; 01.02.2017