RabbitMQ聯(lián)合隊列的搭建和本地測試

RabbitMQ Federation

Federation (聯(lián)合) 常常用于 RabbitMQ 集群升級時做集群間消息同步以及負載均衡等場景。本文記錄了 Federation 在 WebUI 配置方法以及本地簡單坐下效果測試。

插件安裝

通過以下命令開啟 federation 插件,以及在 web 管理終端配置聯(lián)合隊列

rabbitmq-plugins enable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_federation_management

隊列配置

開啟插件后在管理終端 admin tab頁下就可以看到相關(guān)的配置項了。通過界面上指定要做聯(lián)合的隊列的具體信息,就可以指定要聯(lián)合的隊列信息了。

新增 upstream

本地測試

測試環(huán)境搭建

下面通過本地搭建測試環(huán)境來觀察下聯(lián)合隊列的效果。

首先在 mac 上安裝 RabbitMQ,具體安裝方法見官方文檔。這里至少需要兩臺 RabbitMQ,第二臺采用 docker 方式建立。

docker環(huán)境搭建

首先拉取帶管理終端的 docker 鏡像

docker pull rabbitmq:management

啟動 docker 容器,映射容器內(nèi)部15672端口到本地的45672端口來訪問,同時開放映射 docker 的5672端口到本地的18888端口以便做聯(lián)合時指定URI

docker run -d --hostname my-rabbit  -p 45672:15672 -p 18888:5672 --name test-rabbit rabbitmq:management

啟動之后訪問 localhost:45672 就可以訪問 docker 上 RabbitMQ 的管理終端了。

建立聯(lián)合

訪問本地的管理終端(localhost:15672),將本地的 celery 隊列聯(lián)合到 docker 上的 celery 隊列。

建立 upstream

首先需要通過 upstream 指定要聯(lián)合的隊列所在的 RabbitMQ 的地址和訪問信息。


upstream 狀態(tài)
建立 policy

要想聯(lián)合隊列生效,還要建立 policy。通過 policy 指定策略生效的范圍。

policy

完成之后通過 Federation Status 查看生效情況。
聯(lián)合隊列

啟動消費者

啟動消費者連接到本地的 RabbitMQ 上,可以發(fā)現(xiàn)被聯(lián)合的上游隊列也出現(xiàn)了該消費者,雖然 docker 內(nèi)的 RabbitMQ 上實際并沒連接消費者。


本地集群的消費者

docker集群的消費者

通過 docker 內(nèi)的 RabbitMQ 投遞消息,最終會被連接本地 RabbitMQ 的消費者收取,從而達到了聯(lián)合的目的~

需要注意的是,如果消費者連接到被聯(lián)合的隊列上即 docker 內(nèi)的隊列時,消費者不會同步到兩個 RabbitMQ 上。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 利用RabbitMQ集群橫向擴展能力,均衡流量壓力,讓消息集群的秒級服務(wù)能力達到百萬,Google曾做過此類實驗;...
    有貨技術(shù)閱讀 3,625評論 0 1
  • 來源 RabbitMQ是用Erlang實現(xiàn)的一個高并發(fā)高可靠AMQP消息隊列服務(wù)器。支持消息的持久化、事務(wù)、擁塞控...
    jiangmo閱讀 10,513評論 2 34
  • 關(guān)于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術(shù)選型,是時...
    中v中閱讀 2,038評論 0 20
  • 關(guān)于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術(shù)選型,是時...
    預(yù)流閱讀 586,628評論 51 787
  • 泛黃的照片失了真,承諾像刀傷了人。 ――錢鐘書
    云丹風(fēng)卿閱讀 165評論 0 0

友情鏈接更多精彩內(nèi)容