仅获取一个节点(并非所有副本)的 Hazelcast EntryExpiredListener

Get Hazelcast EntryExpiredListener only of one node (not all replicas)

我有连续信号流的要求,如果在一定时间内没有信号,我想得到通知。

现在我正在将每个信号添加到 Hazelcast 地图,如果它在一定时间内没有更新,Hazelcast EntryExpiredListener 会触发。

到目前为止一切顺利,但是每个副本都会调用 EntryExpiredListener,所以我收到了 N 次通知。

有没有办法只在主节点或只有一个副本通知?

我知道我有点滥用 HZ,我也愿意接受其他想法。

我猜你使用 IMap::addEntryListener 来注册你的过期侦听器。相反,请尝试使用 IMap::addLocalEntryListener,它只会在当前拥有该条目的节点上触发,这意味着您只会收到一个通知。