RabbitMQ學習筆記:Event Exchange Plugin(事件交換器插件)rabbitmq-event-exchange

客戶端connection、channels、queues、consumers和系統其它部分自動生成的事件。例如,當一個connection被接受,虛擬主機通過了驗證授權,將會發送一個connection_created事件,當一個connection關閉或者由於其它原因失敗,將會發送一個connection_closed事件。RabbitMQ提供了一個最小的事件通知機制向RabbitMQ客戶端公開。

rabbitmq-event-exchange插件

rabbitmq-event-exchange是一個消費內部事件並且重新發送到一個topic exchange的插件,因此可以展示事件給客戶端應用程序。

爲了消費事件,應用程序需要聲明一個隊列,並綁定到一個系統指定的交換器去消費消息。

插件在默認的虛擬主機上聲明瞭一個topic類型的exchange(交換器)amq.rabbitmq.event。所有的事件都會發送到這個exchange上並綁定一個路由鍵,比如,exchange.created、binding.deleted。所以你可以只訂閱你關注的事件。

交換器的行爲類似amq.rabbitmq.log,所有的信息都發布到這裏,如果用戶沒有經過授權,你可以拒絕它們訪問。

每個事件都有與之關聯的各種屬性,它們被轉換成AMQP 0-9-1數據編碼並插入到消息頭中。消息的正文始終爲空。

啓動插件
rabbitmq-plugins enable rabbitmq_event_exchange
關閉插件
rabbitmq-plugins disable rabbitmq_event_exchange
事件(Events)

RabbitMQ和相關插件通過routing keys發送事件:

RabbitMQ Broker

Queue, Exchange and Binding events:

  • queue.deleted
  • queue.created
  • exchange.created
  • exchange.deleted
  • binding.created
  • binding.deleted

Connection and Channel events:

  • connection.created
  • connection.closed
  • channel.created
  • channel.closed

Consumer events:

  • consumer.created
  • consumer.deleted

Policy and Parameter events:

  • policy.set
  • policy.cleared
  • parameter.set
  • parameter.cleared

Virtual host events:

  • vhost.created
  • vhost.deleted

User related events:

  • user.authentication.success
  • user.authentication.failure
  • user.created
  • user.deleted
  • user.password.changed
  • user.password.cleared
  • user.tags.set

Permission events:

  • permission.created
  • permission.deleted

Shovel Plugin

Worker events:

  • shovel.worker.status
  • shovel.worker.removed

Federation Plugin

Link events:

  • federation.link.status
  • federation.link.removed
實戰消息示例

在這裏插入圖片描述

集羣中如何使用該插件

在集羣中每個節點都要開啓此插件,否則amq.rabbitmq.event交換器不可以正常的被創建。

參考:https://www.rabbitmq.com/event-exchange.html
GitHub地址:https://github.com/mingyang66/spring-parent/tree/master/spring-boot-control-rabbitmq-service

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章