從傳統佇列遷移至適用於 RabbitMQ 的 Amazon MQ 仲裁佇列 - Amazon MQ

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從傳統佇列遷移至適用於 RabbitMQ 的 Amazon MQ 仲裁佇列

您可以透過在相同叢集上建立新的虛擬主機或現地遷移,將傳統鏡像佇列移轉到 3.13 版或更新版本的 Amazon MQ 代理程式上的仲裁佇列。

選項 1:使用新的虛擬主機從傳統鏡像佇列移轉至法定佇列

您可以在相同叢集上建立新的虛擬主機,將傳統鏡像佇列移轉到 3.13 版或更新版本的 Amazon MQ 代理程式上的仲裁佇列。

  1. 在現有叢集中,建立新的虛擬主機 (虛擬主機),並將預設佇列類型作為仲裁。

  2. 使用傳統鏡像佇列URI指向舊虛擬主機,聯合外掛程式從新虛擬主機建立。

  3. 使用rabbitmqadmin,將舊虛擬主機中的定義匯出至新檔案。您必須變更結構描述檔案,使其與法定佇列相容。如需您需要對檔案進行變更的完整清單,請參閱 RabbitMQ 仲裁佇列文件中的移動定義。對檔案套用必要的變更後,將定義重新匯入至新虛擬主機。

  4. 在新虛擬主機中建立新政策。如需仲裁佇列之 Amazon MQ 政策組態的建議,請參閱適用於兔子 MQ 的 Amazon MQ 仲裁佇列的政策組態。然後,將您之前從舊虛擬主機創建的同盟啟動到新虛擬主機。

  5. 將消費者和生產者指向新的虛擬主機。

  6. 配置鏟子插件以移動任何剩餘的消息。一旦隊列是空的,刪除鏟子。

從傳統鏡像佇列移轉至仲裁佇列

您可以透過就地遷移,將傳統鏡像佇列移轉到 3.13 版或更新版本的 Amazon MQ 代理程式上的仲裁佇列。

  1. 停止消費者和生產者。

  2. 建立新的暫時仲裁佇列。

  3. 設定鏟外掛程式,將任何訊息從舊的傳統鏡像佇列移至新的暫時仲裁佇列。將所有訊息移至暫時仲裁佇列之後,請刪除鏟子。

  4. 刪除來源傳統鏡像佇列。然後,重新建立具有與來源傳統鏡像佇列相同名稱和繫結的仲裁佇列。

  5. 建立新鏟,將訊息從暫時仲裁佇列移至新的仲裁佇列。