本文介紹如何應用事件總線EventBridge的事件流功能實現分布式消息服務RabbitMQ的消息路由。
前提條件
開通分布式消息服務RabbitMQ并開通實例。
背景信息
事件流作為更輕量、實時端到端的流式事件通道,提供輕量級的流式數據的過濾和轉換的能力,在不同的數據倉庫之間、數據處理程序之間、數據分析和處理系統之間進行數據同步。源端分布式消息服務RabbitMQ生產的消息可以通過事件流這個通道被路由到目標端的分布式消息服務RabbitMQ。
步驟一:創建事件流
登錄事件總線EventBridge控制臺。
在左側導航欄,單擊事件流。
在事件流頁面,單擊創建事件流。
在創建事件流面板,設置任務名稱和描述,配置以下參數,然后單擊保存。
a.在Source(源)配置向導,選擇數據提供方為分布式消息服務RabbitMQ,設置以下參數,然后單擊下一步。
| 參數 | 說明 | 示例 |
|---|---|---|
| RabbitMQ實例 | 選擇分布式消息服務RabbitMQ實例。 | instance-xxx |
| RabbitMQ vhost | 選擇分布式消息服務RabbitMQ vhost。 | / |
| RabbitMQ queue | 選擇分布式消息服務RabbitMQ queue。 | queue-xxx |
b.在Filtering(過濾)配置向導,設置事件過濾規則,單擊下一步。
c.在Sink(目標)配置向導,選擇服務類型為分布式消息服務RabbitMQ,配置以下參數,單擊保存,如圖1所示。
圖1 創建事件流時源的類型選擇分布式消息服務RabbitMQ
| 參數 | 說明 | 示例 |
|---|---|---|
| 實例 | 選擇分布式消息RabbitMQ實例。 | instance-xxx |
| Vhost | 選擇RabbitMQ實例的Vhost。 | POST |
| 目標類型 | 選擇發送到RabbitMQ的目標類型。
| 隊列 queue-xxx |
| 消息體 | 選擇作為消息體的事件內容,更多參考“事件內容轉換”。 | 完整事件 |
| MessageId | 選擇MessageId的內容,更多參考“事件內容轉換”。 | 空 |
| 自定義屬性 | 選擇自定義屬性(Properties)的內容,更多參考“事件內容轉換”。 | 空 |
創建事件流后,會有30秒~60秒的延遲時間,您可以在事件流頁面的狀態欄查看啟動進度。
步驟二:測試驗證
登錄分布式消息服務RabbitMQ控制臺。
在左側導航欄,單擊實例列表,選擇事件流的源實例。
在隊列管理頁面,選擇源對應隊列,點擊生產撥測。
在對話框輸入想要發送的消息,然后點擊發送。
發送消息后返回實例列表,選擇事件流的目標實例,進入管理。
在隊列管理頁面,選擇目標對應隊列,點擊消費撥測,查詢目標隊列對應的消息。
查看查詢到消息體與消息屬性是否與預期一致,如圖2所示。
圖2 在分布式消息服務RabbitMQ管理控制臺中查看消息詳情