2017-05-05 102 views
0

我們目前正在Windows服務器機器上運行RabbitMQ。升級RabbitMQ軟件

我們要切換到Linux服務器機器。

我們的設置位於AWS上。

我們已經創建了一臺Linux機器並在其中安裝了最新版本的RabbitMQ。

我們的客戶端應用程序使用IP連接到RabbitMQ服務器。 Linux服務器有一個IP。

我們想在沒有任何停機的情況下更改RabbitMQ服務器。我們在基於Windows的RabbitMQ服務器中發送消息,並希望移動這些消息。

在這種情況下會有什麼可能的選擇?

以後有沒有辦法在沒有任何停機的情況下升級RabbitMQ軟件?

回答

0

RabbitMQ隊列在後端處理?

有可能在這樣爲了使:

  1. 讀取和處理在後臺兩個服務器:舊的(Windows機器)和 新(Linux機器)的RabbitMQ服務器。
  2. 切換所有客戶端將 寫入新服務器。
  3. 當舊服務器中的隊列將空時,舊服務器 將不再需要。
0

如果您不需要將消息從一臺服務器移動到另一臺服務器,則更容易。 我建議這樣的:

  • 運行兩個平行
  • 服務器創建一個新的一堆消費者(目前所有消費者的副本),並讓他們從Linux服務器消耗。此時,Linux服務器尚未加載。
  • 逐漸將生產者從Windows切換到Linux服務器,監控系統。
  • 一旦所有生產者都被切換,等待Windows服務器上的隊列被現有的使用者耗盡。
  • 一旦Windows服務器上的所有隊列都耗盡,請關閉Windows服務器的使用者。
  • 你完成了,現在你所有的負載都在Linux服務器上
相關問題