与动物园管理员的广播活动

时间:2018-07-05 10:27:18

标签: apache-zookeeper apache-curator

我想通过Zookeeper 3.4+广播活动。

比方说,我有一些生产者在同时增加一个计数器,而听众则在观察这个增量。

我发现我可以从生产者更新znode值,并且将通知这些znode更改的侦听器。

我可以使用Apache策展人shared count。我可以在此共享计数的众所周知的路径上分配侦听器,如果我要更新(增加)共享计数值,则会通知侦听器。

我也可以使用distributed atomic longNode cache listener。情况相同,我将在众所周知的路径上创建这个原子。侦听器将侦听此路径上的znode更改。当我更新原子长值时,将通知这些节点值的侦听器。

1)例如,我应该在上面使用哪种动物园管理员结构?

2)我可以确定每次对共享计数或分布式原子长的更新都会被广播,并且一定会通知听众吗?

3)任何听众都有可能错过计数更新事件吗?

1 个答案:

答案 0 :(得分:2)

Path Children Cache应该是选择。它比其他类型更通用,并且比节点缓存更好,因为它提供事件的类型( private static void Process_OutputDataReceived(object sender, DataReceivedEventArgs e) { if (e.Data == "ERROR") { //Restart your App } } )-是否为CONNECTION_RECONNECTED。

请咨询馆长的源代码以获取更多信息。