Apache zookeeper 策展人TreeCache最终一致性

Apache zookeeper 策展人TreeCache最终一致性,apache-zookeeper,apache-curator,Apache Zookeeper,Apache Curator,使用策展人TreeCache时。我知道缓存状态不能保证与leader保持同步,并且可能会错过创建/更新/删除事件()。 然而,据我所知,TreeCache最终将保持一致。 问题是:是否定义了ZK节点中的更改传播到TreeCache实例的最长(保证)时间?不,没有最长时间。注意:这与树形图无关,只是动物园管理员的工作方式。在内部,所有写操作都通过ZK集合中的当前leader节点。“跟随者”节点最终与领导者的数据库同步。实际上,这最多只需几秒钟,但当然,这完全取决于数据库的大小、网络、运行中的操作数

使用策展人TreeCache时。我知道缓存状态不能保证与leader保持同步,并且可能会错过创建/更新/删除事件()。 然而,据我所知,TreeCache最终将保持一致。
问题是:是否定义了ZK节点中的更改传播到TreeCache实例的最长(保证)时间?

不,没有最长时间。注意:这与树形图无关,只是动物园管理员的工作方式。在内部,所有写操作都通过ZK集合中的当前leader节点。“跟随者”节点最终与领导者的数据库同步。实际上,这最多只需几秒钟,但当然,这完全取决于数据库的大小、网络、运行中的操作数等


更新:请注意,您使用
syncLimit
配置ZK实例,它指定了集合的最大db同步。超过syncLimit时,ZooKeeper将超时。请参见此处:

因此,如果跟随器超过syncLiimit,它将失败?在这种情况下,可以说没有跟随者可以得到比同步限制更多的东西。这不是保证吗?显然,我知道从追随者到TreeCache发送数据或重新连接到另一个追随者(如果客户端连接的追随者失败)需要额外的时间。如果同步超过syncLimit,实例将失败并从集合中删除。