我有一些属于同一个集群的verticles,它们通过事件总线发送一个hello消息——消息基本上是发送verticle的名称——到一个将消息存储在地图中的接收者verticle。
我想实现一个保持活动状态的方法,所以如果我杀死其中一个发送者,它发送给接收者的消息将从接收者的地图中删除。
我查看了 hazelcast 网站,但没有找到实现该功能的简单方法。
预期的结果是当发送者的verticle被停止/杀死时,发送者的记录从接收者的地图中删除。
我有一些属于同一个集群的verticles,它们通过事件总线发送一个hello消息——消息基本上是发送verticle的名称——到一个将消息存储在地图中的接收者verticle。
我想实现一个保持活动状态的方法,所以如果我杀死其中一个发送者,它发送给接收者的消息将从接收者的地图中删除。
我查看了 hazelcast 网站,但没有找到实现该功能的简单方法。
预期的结果是当发送者的verticle被停止/杀死时,发送者的记录从接收者的地图中删除。
可以有多种方法来实现这一点,其中一种是使用 Hazelcast ILock会是一种更简单的方法,每个成员都可以获取一个锁(可能带有一个顶点名称),当一个成员离开集群时,该死成员获得的所有锁将被自动删除,因此您的应用程序可以随时检查它是否被锁定。
您可以注册MembershipListener并收听成员资格的变化。这样,您可以在成员离开集群时删除之前添加的成员消息。