rabbitmq shovel插件


官網說明https://www.rabbitmq.com/shovel.html#management-status

啟用shovel插件命令:

rabbitmq-plugins enable rabbitmq_shovel
rabbitmq-plugins enable rabbitmq_shovel_management

 

查看已經安裝的插件

rabbitmq-plugins list

 

shovel 插件的使用存在 static 和 dynamic 兩種形式,其主要差異如下

Static Shovels Dynamic Shovels
基於 broker 的配置文件進行定義 基於 broker 的 parameter 參數進行定義
需要重啟宿主 broker 以便配置生效 可以在任意時間進行創建和刪除,直接生效
更加通用:任何 queue 、exchange 或 binding 關系均可在啟動時手動聲明 更具有目標性:被 shovel 所使用的 queue 、exchange 和 binding 關系能夠自動被聲明(創建)

1.為什么需要使用 shovel 插件?
答:當業務需要可靠且連續地將消息從一個 broker 的 queue 里搬運(轉發)到另一個 broker 的 exchange 時(最終達到某個 queue 里 )使用;作為 source 的 queue 和作為 destination 的 exchange 可以位於同一個 broker 上(通常要求處於不同的 vhost 下),也可以位於不同的 broker 上。

2.使用 shovel 插件的好處?
答:shovel 基於 RabbitMQ 的 Erlang 客戶端實現,且作為 built-in 插件被使用,故可以隨 broker 的啟動而自動啟動;shovel 具有松耦合特性:通過該插件可以在分屬不同管理域下的 broker 或 cluster 之間進行消息的搬運;shovel 具有 WAN 友好特性:基於 AMQP 0-9-1 協議實現,並設計成能夠保證在不穩定網絡場景下不丟失消息;shovel 具有高度可定制性:允許在 shovel 建立連接后,立即執行指定的 AMQP 方法進行定制化操作(例如聲明 queue 的動作);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM