rabbitmq簡介
rabbitmq是開源的訊息**和佇列伺服器,是由erlang語言開發的,基於amqp協議(advanced message queuing protocol高階訊息佇列協議)的標準實現。具有良好的效能和時效性,同時還能夠非常好的支援集群和負載部署,非常適合在較大規模的分布式系統中使用。
為什麼使用rabbitmq:
安裝部署簡單,上手門檻低,功能豐富,符合amqp標準;
企業級訊息佇列,經過大量實踐考驗的高可靠;
集群易擴充套件,可以輕鬆的增減集群節點;
有強大的web管理頁面。
rabbitmq作為訊息佇列系統優勢:
從 中對於rabbitmq評價有兩個維度:十萬公尺高空看rabbitmq和顯微鏡看rabbitmq:
rabbitmq劣勢:
效能比kafka和zero面前效能差(持久化訊息和ack確認的情況下生產和消費訊息單機大約在1-2萬左右)
結論:如果希望使用乙個可靠性高、功能強大、易於管理的訊息佇列系統那麼就選擇rabbitmq,如果想用乙個效能高,但偶爾丟點資料不是很在乎可以使用kafka或者zeromq。
amqp協議
amqp(advanced message queue):高階訊息佇列協議。它是應用層協議的乙個開放標準,為面向訊息的中介軟體設計,基於此協議的客戶端與訊息中介軟體可傳遞訊息,並不受產品、開發語言等條件的限制,可以與不同產品、不同語言之間進行訊息互動。
amqp的基本概念
rabbitmq是amqp協議的乙個開源實現,其內部實際上也是amqp的基本概念。amqp的模型架構和rabbitmq的模型架構是一樣的,生產者將訊息傳送給交換器,交換器和佇列繫結。當生產者傳送訊息時所攜帶的routingkey與繫結時的bindingkey相匹配時,訊息即被存入相應的佇列之中。消費者可以訂閱相應的佇列來獲取訊息。
相關名詞概念
RabbitMQ簡介及其安裝
rabbitmq是實現了高階訊息佇列協議 amqp 的開源訊息 軟體 亦稱面向訊息的中介軟體 rabbitmq伺服器是用erlang語言編寫的。發布者 publisher 發布訊息 message 經由交換機 exchange 交換機根據路由規則將收到的訊息分發給與該交換機繫結的佇列 queue 最...
RabbitMQ簡介和安裝
微服務架構中,應用系統與應用系統之間的邏輯關係,根據產生請求與消化請求的立場區別,可以分為生產者 請求方 與消費者 服務方 就像是辦理銀行業務的過程中客戶 產生請求 和銀行的服務視窗 用來消化請求 之間的對等關係,而mq message queue 訊息佇列就相當於叫號器,客戶取票後它來對請求進行分...
RabbitMQ的安裝及簡單實用(二)
一 安裝erlang rabbitmq是由erlang語言編寫的,所以在安裝rabbitmq之前需要安裝erlang。可以到erlang官網根據自己的系統選擇安裝。wget tar zxvf otp src 23.0.tar.gz cd otp src 23.0 configure prefix o...