【发布时间】:2016-04-18 10:36:13
【问题描述】:
我正在为我的用例使用 hazelcast 本地侦听器。我已阅读文档并了解它使用队列将事件推送给侦听器。
宕机节点队列中的事件会发生什么?如果配置了副本,这些会被忽略还是会在队列中并路由到新节点?请澄清。
有没有办法通过某种回调来确认消息的成功接收?这样该事件就不会丢失。
【问题讨论】:
我正在为我的用例使用 hazelcast 本地侦听器。我已阅读文档并了解它使用队列将事件推送给侦听器。
宕机节点队列中的事件会发生什么?如果配置了副本,这些会被忽略还是会在队列中并路由到新节点?请澄清。
有没有办法通过某种回调来确认消息的成功接收?这样该事件就不会丢失。
【问题讨论】:
LocalListener 队列不是分布式的(因为它会涉及序列化)。无论如何,侦听器不应执行长时间运行的操作,因此您的队列应始终为空。队列往往只有以下两种状态之一:空或满(取决于快速或慢速消费者)。
是的,如果节点出现故障并且您的本地队列已满,您将丢失事件。
您的用例是什么?你有慢消费者吗?考虑将它们卸载到 Hazelcast 分布式队列并独立于事件线程执行它们。
【讨论】: