

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

# 從傳統佇列遷移至 Amazon MQ for RabbitMQ 上的規定人數佇列
<a name="quorum-queues-migration"></a>

您可以將傳統鏡像佇列遷移至 3.13 版或更新版本的 Amazon MQ 代理程式上的規定人數佇列，方法是在相同叢集上建立新的虛擬主機，或遷移到適當位置。

## 選項 1：使用 Amazon MQ for RabbitMQ 佇列遷移工具，從傳統鏡像佇列遷移至規定人數佇列
<a name="migrating-quorum-queues-with-amazon-mq-queue-migration-tool"></a>

 Amazon MQ 提供佇列遷移工具，將傳統佇列遷移至規定人數佇列。工具可透過 RabbitMQ Web 主控台、**管理員** > **佇列遷移**，或透過 HTTP API 存取。

 若要使用工具，請參閱 [Amazon MQ 佇列遷移工具](https://github.com/amazon-mq/rabbitmq-queue-migration)。

## 選項 2：使用新的虛擬主機從傳統鏡像佇列遷移到規定人數佇列
<a name="migrating-quorum-queues-with-vhost"></a>

 您可以在 3.13 版或更新版本的 Amazon MQ 代理程式上將傳統鏡像佇列遷移至規定人數佇列，方法是在相同叢集上建立新的虛擬主機。

1. 在您現有的叢集中，建立預設佇列類型為規定人數的新虛擬主機 (vhost)。

1. 使用傳統鏡像佇列，[聯合外掛程式](rabbitmq-basic-elements-plugins.md#rabbitmq-federation-plugin)從新的 vhost 建立指向舊 vhost 的 URI。

1. 使用 `rabbitmqadmin`，將定義從舊 vhost 匯出到新檔案。您必須變更結構描述檔案，使其與規定人數佇列相容。如需您需要對檔案進行的完整變更清單，請參閱 RabbitMQ 規定人數佇列文件中的[移動定義](https://www.rabbitmq.com/blog/2023/03/02/quorum-queues-migration#moving-definitions)。將必要的變更套用至檔案後，將定義重新匯入至新的 vhost。

1.  在新的 vhost 中建立新的政策。如需規定人數佇列的 Amazon MQ 政策組態建議，請參閱 [Amazon MQ for RabbitMQ 規定人數佇列的政策組態](quorum-queues-policy-configurations.md) 。然後，啟動您先前從舊 vhost 到新 vhost 建立的聯合。

1.  將消費者和生產者指向新的 vhost。

1. 設定 Shovel 外掛程式以移動任何剩餘的訊息。一旦佇列為空，請刪除 Shovel。

## 從傳統鏡像佇列遷移到規定人數佇列就位
<a name="migrating-quorum-queues-in-place"></a>

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

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

1. 建立新的臨時規定人數佇列。

1. 設定 Shovel 外掛程式，將任何訊息從舊的傳統鏡像佇列移至新的暫時規定人數佇列。將所有訊息移至臨時規定人數佇列後，請刪除 Shovel。

1. 刪除來源傳統鏡像佇列。然後，以與來源傳統鏡像佇列相同的名稱和繫結重新建立規定人數佇列。

1. 建立新的 Shovel，將訊息從暫時規定人數佇列移至新的規定人數佇列。