0
我們正在處理兩個RabbitMQ節點的集羣,我們正在使用RabbitMQ Java驅動程序與節點交互。我們正在使用「標題」交換,它根據標頭綁定和持久隊列將消息傳輸到隊列。在RabbitMQ的多節點上定義隊列
問題是,隊列是爲一個節點定義的。如果此節點由於某種原因而崩潰,則應該到達此節點隊列中的消息將丟失。
有沒有辦法告訴RabbitMQ當它檢測到持有它們的另一個節點不可達時更改隊列主節點,因此確保消息傳輸到隊列?並在節點再次出現時恢復消息?
現在,我們使用高可用隊列來解決這個問題,但性能非常糟糕。我們不需要它提供的鏡像功能,因爲我們只需要在節點再次出現時恢復消息就可以了。
是的,我們已經試過了。它在節點再次出現時恢復在節點崩潰之前傳遞的消息。但是,當節點關閉時,將此節點作爲主節點隊列,仍然會忽略新消息,直到節點再次出現。 – Kraiss