Nodejs 中 Rabbitmq 的高可用性、故障轉移

Nodejs 中 Rabbitmq 的高可用性、故障轉移

我想在rabbitmq節點上設定高可用性,目前我有一個運行rabbitmq的伺服器,但是我要添加另一個伺服器這是我們在nodejs應用程式中使用的當前配置

rabbitMQ: {
  url: 'amqp://user:password@node1:5672'
},

1)我需要在兩個rabbitmq節點(node1和node2)上設定叢集嗎?

2)我必須在設定檔中包含的新網址是什麼

答案1

RabbitMQ 團隊監控這個郵件列表並且有時只在 StackOverflow 上回答問題。


您沒有提供您正在使用的 RabbitMQ 版本、Erlang 版本、作業系統或 Node.js 程式庫的詳細資訊。請今後始終向人們提供這樣的詳細信息,以便他們更容易提供幫助。

由於您是 RabbitMQ 叢集的新手,因此我強烈建議您閱讀我們的文件 - https://www.rabbitmq.com/clustering.html

我需要在兩個rabbitmq節點(node1和node2)上設定叢集嗎?

兩個節點必須運行相同版本的 RabbitMQ 和 Erlang。您可以根據文件透過在一個節點上執行叢集命令來建立叢集。如果成功,該rabbitmqctl cluster_status命令將指示這一點。

2)我必須在設定檔中包含的新網址是什麼

我假設您正在使用squaremo/amqp.node圖書館.該庫不支援在連接 URI 中提供多個主機。您必須自己實現它,並且還必須自行實現連接恢復。請參見這個 GitHub 問題

然而,有一個庫確實支援多個節點和重新連接,稱為rascal。您可以使用rascal或借用其中的程式碼(在這裡,例如)。

相關內容