簡體   English   中英

模塊集群和JMS

[英]Module clustering and JMS

我有一個在JVM (沒有容器)中獨立運行並通過JMS與其他模塊通信的模塊。 我的模塊既是一個隊列中的生產者,又是另一個隊列中的消費者。 然后,出於HA和工作量方面的原因,我需要對該模塊進行群集,並且我可能要與Terracotta + Hibernate一起對我的實體進行群集。 當前,當我的應用程序啟動時,它會啟動一個線程(通過Executors.newSingleThreadExecutor() )作為使用者(我可以在必要時附加實際代碼示例)。

我在這里讀書的問題理解的是,如果我剛開始我的模塊上N不同JVMs然后N不同的用戶將被創建在隊列中的每個消息將到達N用戶。 我想做的是只處理其中的一條消息(目前,讓我們說哪個不重要),因此實際上使我能夠一次處理N消息。

如何/應該這樣做? 我會偏離軌道嗎?

順便說一句,我正在使用OpenMQ作為實現,但是我不知道這是否有意義。

謝謝你的幫助

集群環境中消息處理的典型案例。 這就是我要做的。

使用廣播消息(基於頻道)代替隊列。 對於點對點通信有用的隊列不是很有效。 設置消息的有效性,直到消費者之一使用它為止。 這樣,其他消費者甚至不會看到該消息,只有一個消費者會使用它。

看一下JGroups 您可以考慮實現模塊/訂戶以使用jgroup進行所需的同步。 JGroups提供可靠的多播通信。

暫無
暫無

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

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