全部產品
Search
文件中心

ApsaraMQ for RabbitMQ:全球訊息路由

更新時間:Dec 27, 2024

全球訊息路由的功能和使用方式和開源Shovel外掛程式保持一致,支援不同執行個體和Vhost間的Queue到Queue、Queue到Exchange的訊息轉寄。在此基礎上,除了可以本地區間訊息轉寄,也可以支援跨地區訊息轉寄,以便您按需同步訊息,實現不同執行個體、不同Vhost間的訊息路由。

注意事項

  • 額外的費用支出:總費用 = 雲訊息佇列 RabbitMQ 版費用 + 事件匯流排EventBridge轉寄費用+CEN流量費用(只有跨地區轉寄才會產生CEN費用)。雲訊息佇列 RabbitMQ 版計費詳情,請參見計費概述事件匯流排EventBridge計費詳情,請參見計費說明。雲企業網CEN計費詳情,請參見計費說明

  • 不支援傳遞路由:例如執行個體A到執行個體B再到執行個體C,執行個體A的訊息不會經過執行個體B再路由到執行個體C,如有需要請直接建立執行個體A到執行個體C的路由。

  • 訊息同步延遲:鑒於訊息同步的訊息量以及網路頻寬瓶頸,訊息同步可能會產生一定的時間延遲。

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

前提條件

  • 雲訊息佇列 RabbitMQ 版

    源執行個體、源Vhost、源Exchange、源Queue以及目標執行個體、目標Vhost、目標Exchange、目標Queue已建立並可用。具體操作,請參見:

  • 事件匯流排EventBridge

建立全球訊息路由任務

  1. 登入雲訊息佇列 RabbitMQ 版控制台,然後在左側導覽列,單擊全球消息路由

  2. 全球消息路由頁面單擊创建任务

  3. (可選)阿里雲服務授權 - 從訊息佇列RabbitMQ版讀取訊息對話方塊,認真閱讀提示資訊,單擊確認

    首次建立全球訊息路由任務,將自動建立服務的關聯角色AliyunServiceRoleForEventBridgeSourceRabbitMQ與AliyunServiceRoleForEventBridgeSendToRabbitMQ。具體資訊,請參見服務關聯角色

    說明
    • AliyunServiceRoleForEventBridgeSourceRabbitMQ事件匯流排EventBridge使用該角色接收源端執行個體發送的訊息。

    • AliyunServiceRoleForEventBridgeSendToRabbitMQ事件匯流排EventBridge使用該角色轉寄訊息給目標端執行個體。

  4. 创建消息路由任务設定精靈頁面,配置訊息路由的源端和目標端資訊。

    1. 基本信息頁面,填寫任務名稱和描述,然後單擊下一步

    2. 源和目标頁面,配置訊息路由的源端和目標端資訊,然後單擊下一步

      參數

      解釋

      樣本

      同步源信息

      产品类型

      訊息路由源端的產品類型,固定為雲訊息佇列 RabbitMQ 版

      雲訊息佇列 RabbitMQ 版

      地域

      源端產品的執行個體所在的地區。

      華南1(深圳)

      实例

      源端產品的執行個體ID。

      amqp-cn-i7m2a8bq****

      Vhost

      源端產品的執行個體所部署的Vhost。

      test-001

      Queue

      源端產品執行個體的Queue。

      test-001-q

      同步目标信息

      产品类型

      訊息路由目標端的產品類型,固定為雲訊息佇列 RabbitMQ 版

      雲訊息佇列 RabbitMQ 版

      地域

      目標端產品的執行個體所在的地區。

      華南1(深圳)

      实例

      目標端產品的執行個體ID。

      amqp-cn-7pp2a85q****

      Vhost

      目標端產品的執行個體所部署的Vhost。

      test-routing

      目标类型

      訊息路由的目標類型。取值如下:

      • Queue:訊息路由至目標執行個體的Queue中。

      • Exchange:訊息路由至目標執行個體的Exchange。

        說明

        目标类型為Exchange時,請確保目標Exchange有對應綁定的Queue,否則將導致路由轉寄到此Exchange的訊息沒有儲存的Queue而丟失。

      test-routing-ex

      RoutingKey

      訊息路由的Routing Key。當目标类型Exchange時,該參數生效,取值如下:

      • 不设置:使用訊息原有的Routing key發送到目標Exchange。

      • 设置:使用當前設定的Routing key發送到目標Exchange。

      test

    3. 创建启动頁面,確認訊息路由的配置資訊,單擊创建并启动

    全球消息路由頁面,可以看到已建立的任務。其状态运行中

相關文檔

關於開源Shovel外掛程式的更多資訊,請參見Shovel Plugin