如何通知Hazelcast客户端另一个添加或删除的客户端

时间:2017-06-02 11:57:15

标签: hazelcast

有一个包含

的应用程序堆栈
  • 2个嵌入式hazelcast应用; (app A)
  • 使用hazelcast客户端的2个应用。 (app B)

App B 需要协调节点之间的任务执行,因此只有一个节点执行特定任务。

使用 app A ,通过将网守创建为库来实现相当容易,需要查询任务执行许可。网守将跟踪集群中的hazelcast成员,并仅为单个节点分配许可。它将注册MembershipListener以跟踪群集中的更改。

然而,作为Hazelcast客户端的 app B 无法使用此类网守,因为客户端无法访问ClientService(通过hazelcastInstance.getClientService()),因此它无法注册ClientListener(类似于MembershipListener,但对于客户端节点)以通知添加或删除的客户端。

如何为加入群集的应用程序HazelcastClient s?

实施此类协调网守

1 个答案:

答案 0 :(得分:1)

您可能必须在成员上使用侦听器(获取群集中最旧的成员并在“master”更改时更新侦听器)并使用ITopic通知其他客户端。

现在想不出另一种方式。