十次方day08

1.RabbitMQ簡介

?RabbitMQ 是一個由 Erlang 語言開發(fā)的AMQP 的開源實現(xiàn)。 AMQP :Advanced Message Queue,高級消息隊列協(xié)議。它是應(yīng)用層協(xié)議的一個開放標(biāo)準(zhǔn),為面向消息的中間件設(shè)計,基于此協(xié)議的客戶端與消息中間件可傳遞消息,并不受產(chǎn)品、開發(fā)語言等條件的限制。 RabbitMQ 最初起源于金融系統(tǒng),用于在分布式系統(tǒng)中存儲轉(zhuǎn)發(fā)消息,在易用性、擴(kuò)展性、高可用性等方面表現(xiàn)不俗。具體特點包括: 1.可靠性(Reliability) RabbitMQ 使用一些機(jī)制來保證可靠性,如持久化、傳輸確認(rèn)、發(fā)布確認(rèn)。?



?2.靈活的路由(Flexible Routing)?

在消息進(jìn)入隊列之前,通過Exchange 來路由消息的。對于典型的路由功能,RabbitMQ已經(jīng)提供了一些內(nèi)置的Exchange 來實現(xiàn)。針對更復(fù)雜的路由功能,可以將多個Exchange 綁定在一起,也通過插件機(jī)制實現(xiàn)自己的Exchange 。

?

?3.消息集群(Clustering)

?多個RabbitMQ 服務(wù)器可以組成一個集群,形成一個邏輯Broker 。


?4.高可用(Highly Available Queues)

?隊列可以在集群中的機(jī)器上進(jìn)行鏡像,使得在部分節(jié)點出問題的情況下隊列仍然可用。


?5.多種協(xié)議(Multi-protocol)?

RabbitMQ 支持多種消息隊列協(xié)議,比如STOMP、MQTT 等等。


?6.多語言客戶端(Many Clients)

?RabbitMQ 幾乎支持所有常用語言,比如Java、.NET、Ruby 等等。


?7.管理界面(Management UI)

?RabbitMQ 提供了一個易用的用戶界面,使得用戶可以監(jiān)控和管理消息Broker 的許多方面。


?8.跟蹤機(jī)制(Tracing)

?如果消息異常,RabbitMQ 提供了消息跟蹤機(jī)制,使用者可以找出發(fā)生了什么。


?9.插件機(jī)制(Plugin System)

?RabbitMQ 提供了許多插件,來從多方面進(jìn)行擴(kuò)展,也可以編寫自己的插件。

?著作權(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)容

  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981閱讀 16,208評論 2 11
  • 利用RabbitMQ集群橫向擴(kuò)展能力,均衡流量壓力,讓消息集群的秒級服務(wù)能力達(dá)到百萬,Google曾做過此類實驗;...
    有貨技術(shù)閱讀 3,625評論 0 1
  • 什么叫消息隊列? 消息(Message)是指在應(yīng)用間傳送的數(shù)據(jù)。消息可以非常簡單,比如只包含文本字符串,也可以更復(fù)...
    Agile_dev閱讀 2,438評論 0 24
  • 關(guān)于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術(shù)選型,是時...
    預(yù)流閱讀 586,631評論 51 787
  • 關(guān)于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術(shù)選型,是時...
    Johnson_zx閱讀 1,157評論 0 5

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