我知道在HornetQ中,您可以執行活動備份對類型的集羣。我還從文檔中注意到,您可以在集羣中的兩個或多個節點之間進行負載平衡。那些是唯一可能的兩種拓撲嗎?你將如何實現羣集隊列模式?HornetQ集羣拓撲結構
謝謝!
我知道在HornetQ中,您可以執行活動備份對類型的集羣。我還從文檔中注意到,您可以在集羣中的兩個或多個節點之間進行負載平衡。那些是唯一可能的兩種拓撲嗎?你將如何實現羣集隊列模式?HornetQ集羣拓撲結構
謝謝!
我來回答這個使用兩個術語:一是從HornetQ的核心隊列:
當你創建一個集羣連接,您是在設置用於負載平衡HornetQ的地址和核心隊列(包括其直接翻譯地址到jms隊列和jms主題中),對於作爲羣集連接基本地址(通常地址是jms)一部分的地址
當您負載平衡核心隊列時,它將在不同節點之間進行負載平衡。那就是每個節點當時會得到一條消息。
當您在同一地址上有多個隊列時,羣集上的所有隊列都將收到消息。如果這些隊列中的一個隊列在多個節點中,則每個正在負載均衡的消息上的前一個規則也將應用。
在JMS術語:
主題訂閱將接收所有發送到主題的消息。如果主題訂閱名稱/標識存在於多個節點中(比如在不同節點上使用相同的clientID和subscriptionName),則它們將進行負載平衡。
隊列將通過所有存在的隊列進行負載平衡。
請注意,當沒有消費者時,有一個轉發設置。這意味着如果你沒有消費者,你可能得不到消息。你也可以用它來配置它。
您將如何實現羣集隊列模式?
提示EAP 6.1/2.3的HornetQ要實現分佈式隊列/主題:
閱讀官方文檔爲您版本:如爲2.3 https://docs.jboss.org/hornetq/2.3.0.Final/docs/user-manual/html/clusters.html
注意,舊設定clusterd=true
已過時,限定羣連接就足夠了,檢查內部核心網橋自動創建/羣集=真已過時在2.3+
以full-ha配置作爲基準或確保您有jgroups正確設置。這篇文章去深入地進入主題:https://developer.jboss.org/thread/253574
沒有它,沒有錯誤顯示,核心橋連接 建立......但消息沒有被分發,再沒有錯誤 或警告的所有...
例如,我與境界ID (「ApplicationRealm」)混淆了域ID(「其他」),並得到了AUTH錯誤,但錯誤是 通用的,所以我浪費時間檢查用戶,密碼,角色......直到我最終發現了 。
logger.org.hornetq.level=DEBUG
)