簡體   English   中英

每個主題在集​​群中運行的每個偵聽器僅消耗一次消息

[英]Consume message only once from Topic per listeners running in cluster

我正在實現域事件基礎結構,但是該項目不允許任何消息傳遞基礎設施(金融服務客戶端),因此在Hazelcast Topics和ExecutorService中找到了替代方法,

但是問題是,當在集群中運行時,消息將傳遞到將要在集群中運行的偵聽器,因此對於集群2,我們在2個jvm中運行了相同的偵聽器,並且消息消耗了兩次並采取了行動,假設域事件應該執行一些非冪等的操作,例如為某些忠誠度積分提供信用,除非我明確維護所作用的域事件的蹤跡並核對每次收到事件的檢查,否則我都會兩次歸功於它,“任何實現此目的的建議而不用寫那些可能在下層的樣板”,或者是否有這樣的實現方式。

編輯:同時我也在評估Hazelcast的ExecutorService的建議在這里

您可以通過使用Hazelcast的Queues(而不是Topics)來解決您描述的用例。 使用主題的主要原因是,如果您有興趣讓多個(可能是獨立的)使用者獲得相同的消息。 您的需求聽起來像是您對只有一個使用者獲得消息感興趣,並且這就是隊列的用途,請參閱Hazelcast Queues文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM