消息队列(3):RabbitMQ
RabbitMQ,基于AMQP協議實現。
特點:
消息可靠:持久化消息,傳輸確認,發布確認。
路由靈活:使用AMQP的Exchange來路由消息,包括RabbitMQ內置的Exchange,還有復雜的路由也可以使用多個Exchange綁定,定制實現。
支持集群:
高可用:
多協議:RabbitMQ除了支持AMQP協議,還可以通過插件的方式支持其他協議,比如STOMP,MQTT。
支持多語言客戶端:
提供管理界面:
提供消息跟蹤機制:如果消息異常,使用者可以查出發生了什么情況。
提供插件機制:可擴展
概念
RabbitMQ概念方面基本和AMQP協議的概念一樣。
Message(消息):消息由消息頭和消息體組成。消息體不透明,消息頭由一系列可選屬性組成,包括路由信息,消息優先級,消息是否持久化等。
Publisher(消息生產者):向交換器發布消息的客戶端。
Consumer(消息消費者):從消息隊列中取消息的客戶端。
Exchange(交換器):接收生產者發出的消息,并路由給服務器中的隊列。
Queue(消息隊列):用來保存消息直到發送給消費者。
Binding(綁定):用于消息隊列和交換器直接的關聯。一個綁定就是一個路由規則。
Broker:隊列服務器實體。
Connection(網絡連接):比如一個TCP連接。
Channel(信道):獨立的雙向數據流通道,建立在真實的TCP連接內。發送消息和接收消息,都是通過信道完成的,引入信道也是因為建立和銷毀TCP連接開銷很昂貴,使用信道的概念復用TCP連接。
vhost(虛擬主機):一批交換器,消息隊列和相關對象。縮小版的RabbitMQ服務器,必須在連接時指定。
如下圖:
總結
以上是生活随笔為你收集整理的消息队列(3):RabbitMQ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone各版本屏幕尺寸
- 下一篇: [python]---从java到pyt