gpt4 book ai didi

java - 每个集群中运行的监听器仅从主题消费一次消息

转载 作者:行者123 更新时间:2023-12-01 10:02:14 24 4
gpt4 key购买 nike

我正在实现一个领域事件基础设施,但该项目不允许任何消息传递基础设施(金融服务客户端),因此在 Hazelcast Topics 和 ExecutorService 中找到了替代方案,

但问题是,当在集群中运行时,消息应传递给将在集群中运行的监听器,因此对于 2 个集群,我们在 2 个 jvm 中运行相同的监听器,并且消息消耗两次并执行操作,假设域事件应该执行一些非幂等操作,例如信用一些忠诚度积分,除非我明确维护所执行的域事件的跟踪并在每次收到事件时进行检查,否则我最终将信用它两次,“任何建议实现这一点,而不必在底层编写这些样板”,或者是否存在这种实现的已知模式。

编辑:同时我也在评估 Hazelcast ExecutorService按照建议Here

最佳答案

您描述的用例可以通过使用 Hazelcast 的队列而不是主题来解决。使用主题的主要原因是如果您对多个(可能是独立的)消费者获取相同的消息感兴趣。您的要求听起来好像您感兴趣的是只有一个消费者收到消息,这就是队列的用途,请参阅 the Hazelcast documentation for Queues .

关于java - 每个集群中运行的监听器仅从主题消费一次消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com