全部產品
Search
文件中心

ApsaraMQ for RabbitMQ:聯邦任務

更新時間:May 10, 2026

聯邦任務基於EventBridge事件流功能實現開源 Federation 外掛程式能力。通過配置聯邦任務,您實現中繼資料和訊息跨叢集同步和複製。

注意事項

重要
  • 當前雲上聯邦外掛程式功能僅支援聯邦交換器(Exchange Federation),即實現 Exchange 到 Exchange 的訊息同步。聯邦隊列(Queue Federation)功能待上線。

  • 請確保目標端 RabbitMQ 執行個體的訊息大小限制至少與源端執行個體的訊息大小限制相同。如果目標端執行個體的訊息大小限制小於源端的限制,當訊息的大小超過目標端執行個體的限制時,將導致訊息路由失敗,進而導致訊息同步失敗。

費用說明

使用聯邦任務會產生額外費用,總費用由兩部分組成:

總費用 = 雲訊息佇列 RabbitMQ 版費用 + 事件匯流排 EventBridge 轉寄費用

前提條件

  • 雲訊息佇列 RabbitMQ 版執行個體:源執行個體、源 Vhost 或目標執行個體、目標 Vhost 已建立並可用。

  • 事件匯流排 EventBridge:已開通事件匯流排EventBridge並授權

  • 開源 RabbitMQ 叢集(如適用):若目的地組群為開源 RabbitMQ 叢集,請確認 rabbitmq_event_exchange 外掛程式已開啟。具體操作,請參見:開啟 rabbitmq_event_exchange外掛程式

建立聯邦任務

建立聯邦任務需依次完成以下步驟:建立任務、服務授權、配置叢集資訊、配置任務參數、驗證任務狀態。

步驟一:建立任務

  1. 登入雲訊息佇列 RabbitMQ 版控制台

  2. 在左側導覽列,選擇聯邦任務

  3. 聯邦任務頁面,單擊建立任務

步驟二:服務授權

首次建立聯邦任務,將自動建立服務的關聯角色 AliyunServiceRoleForEventBridgeRabbitMQPlugin。具體資訊,請參見 服務關聯角色

在"阿里雲服務授權 - 從訊息佇列 RabbitMQ 版讀取訊息"對話方塊中,認真閱讀提示資訊,單擊確認。

角色說明AliyunServiceRoleForEventBridgeRabbitMQPlugin:事件匯流排 EventBridge 使用該角色實現 RabbitMQ 外掛程式功能。

步驟三:配置叢集資訊

在建立聯邦任務設定精靈頁面,配置聯邦任務的源叢集和目的地組群資訊。

叢集資訊配置參數

參數分類

參數名稱

解釋

樣本

開源 RabbitMQ 叢集

URL

開源 RabbitMQ 叢集的訪問地址,預設連接埠 5672

192.168.1.1

使用者名稱

開源 RabbitMQ 叢集的使用者名稱

admin

密碼

開源 RabbitMQ 叢集的密碼

pass***word

VPC

開源 RabbitMQ 叢集所在的 VPC 網路識別碼

vpc-2zehiozskjdbb3***

交換器

開源 RabbitMQ 叢集所在的虛擬交換器 ID

vsw-m5hksicnqou22***

安全性群組

開源 RabbitMQ 叢集所屬機器的安全性群組 ID

sg-2ca1jjhsdxciap***

Virtual Host

開源 RabbitMQ 叢集所部署的 Vhost

test-001

雲訊息佇列 RabbitMQ

執行個體

雲訊息佇列 RabbitMQ 的執行個體 ID

amqp-cn-s1q2ksbq***

Virtual Host

雲訊息佇列 RabbitMQ 所部署的 Vhost

test-001

步驟四:配置任務參數

在任務參數頁面,配置任務配置資訊。

任務參數配置

參數分類

參數名稱

解釋

可選值/樣本

任務參數

任務名稱

聯邦任務名稱

federation-task-001

順序性

聯邦任務在同步訊息時是否按照訊息順序:
1. 並發:並發同步訊息,不保障訊息的順序性
2. 順序:按照到達 Exchange 的順序同步訊息

- 並發
- 順序

聯邦 Exchange 參數

Max hops

一條訊息在聯邦任務中允許轉寄的最大跳數(hops),超過此限制後訊息將被丟棄

1

交換器運算式

用於匹配一個或多個交換器名稱的Regex,符合該運算式的交換器將會被同步到源叢集

.*

步驟五:驗證任務狀態

在聯邦任務頁面,可以看到已建立的任務,其狀態為啟動中

待任務狀態更改為運行中,說明聯邦任務已啟動成功。

最佳實務

1. 合理規劃 Max hops

  • 對於簡單的點對點同步情境,建議設定為 1

  • 對於多層級聯的情境,根據實際拓撲結構設定合適的跳數

  • 避免設定過大的跳數,防止訊息迴圈轉寄

2. 精確配置交換器運算式

  • 使用精確的Regex匹配需要同步的交換器

  • 避免使用過於寬泛的運算式(如 .*),以免同步不必要的交換器

  • 樣本:

    • 匹配所有以 "order" 開頭的交換器:^order.*

    • 匹配特定命名的交換器:^(order|payment|inventory)$

3. 選擇合適的順序性模式

  • 併發模式:適用於對訊息順序無嚴格要求的情境,效能更高

  • 順序模式:適用於需要保證訊息處理順序的業務情境(如訂單處理、狀態流轉等)

4. 監控和警示

  • 定期檢查聯邦任務運行狀態

  • 配置訊息積壓警示

  • 監控同步延遲指標,及時發現異常

5. 網路規劃

  • 確保源叢集和目的地組群之間的網路延遲在可接受範圍內

  • 跨地區同步時,考慮使用專線或 VPN 提高網路穩定性

  • 合理規劃 VPC 和安全性群組規則,確保網路可達

常見問題

Q1:聯邦任務啟動後一直處於"啟動中"狀態怎麼辦?

請檢查以下幾點:

  1. 確認源叢集和目的地組群的網路連通性正常

  2. 確認叢集認證資訊(使用者名稱、密碼)正確

  3. 確認 EventBridge 服務已正確開通並授權

  4. 查看控制台是否有錯誤提示,根據提示進行排查

Q2:訊息同步出現延遲或丟失如何處理?

  1. 延遲問題:檢查網路頻寬使用方式,考慮最佳化訊息大小或增加頻寬

  2. 丟失問題:確認目標端執行個體的訊息大小限制不小於源端;檢查 Max hops 設定是否合理;查看交換器運算式是否正確匹配目標交換器

Q3:如何修改已建立的聯邦任務?

目前聯邦任務建立後不支援直接修改。如需調整配置,建議刪除原有任務後重新建立。

Q4:聯邦任務支援雙向同步嗎?

聯邦任務是單向同步的。如需實現雙向同步,需要分別建立兩個方向的聯邦任務。