RabitMQ 簡介

每日一句

The secret of being miserable is to have leisure to bother about whether you are happy or not.
痛苦的秘密在于有閑工夫擔(dān)心自己是否幸福。

概述

官網(wǎng):https://www.rabbitmq.com/

RabbitMQ是實(shí)現(xiàn)了高級(jí)消息隊(duì)列協(xié)議(Advanced Message Queueing Protocol , AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。

什么是消息中間件

定義:支持在分布式系統(tǒng)中發(fā)送和接受消息的硬件或軟件基礎(chǔ)設(shè)施

消息中間件應(yīng)用場景

消息中間件解決的就是分布式系統(tǒng)之間消息傳遞的問題。

簡單概括一下消息中間件的應(yīng)用場景大致如下:

  • 業(yè)務(wù)解耦:交易系統(tǒng)不需要知道短信通知服務(wù)的存在,只需要發(fā)布消息
  • 削峰填谷:比如上游系統(tǒng)的吞吐能力高于下游系統(tǒng),在流量洪峰時(shí)可能會(huì)沖垮下游系統(tǒng),消息中間件可以在峰值時(shí)堆積消息,而在峰值過去后下游系統(tǒng)慢慢消費(fèi)消息解決流量洪峰的問題
  • 事件驅(qū)動(dòng):系統(tǒng)與系統(tǒng)之間可以通過消息傳遞的形式驅(qū)動(dòng)業(yè)務(wù),以流式的模型處理

rabbitMQ的起源

RabbitMQ 是采用 Erlang 語言實(shí)現(xiàn) AMQP(Advanced Message Queuing Protocol)高級(jí)消息隊(duì)列協(xié)議 的消息中間件,用于在 分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息。

RabbitMQ 正是由于它優(yōu)越的表現(xiàn)被越來越多人認(rèn)可。具體特點(diǎn)可以概括為以下幾點(diǎn):

  • 可靠性:持久化、傳輸確認(rèn)、發(fā)布確認(rèn)等。
  • 靈活的路由:在消息進(jìn)入隊(duì)列之前,通過 交換器路由 消息
  • 擴(kuò)展性:多個(gè) RabbitMQ 節(jié)點(diǎn)可以組成一個(gè)集群,也可以動(dòng)態(tài)擴(kuò)展集群節(jié)點(diǎn)。
  • 高可用性:隊(duì)列 可以在集群中的機(jī)器上設(shè)置 鏡像,使得在部分節(jié)點(diǎn)出現(xiàn)問題的情況下,隊(duì)列仍然可用
  • 多種協(xié)議:原生支持 AMQP 協(xié)議,還支持 STOMP、MQTT 等多種消息中間件協(xié)議
  • 多語言客戶端:支持常用語言客戶端。如:Java、Python、Ruby、PHP、C#、JavaScript
  • 管理界面:提供了一個(gè)易用的用戶界面,使得用戶可以 監(jiān)控和管理消息、集群中的節(jié)點(diǎn)
  • 插件機(jī)制:提供了許多插件,以實(shí)現(xiàn)從多方面進(jìn)行擴(kuò)展,也可以自己編寫插件。

美文佳句

在薄情的世界里,每個(gè)人都來去匆匆,沒有誰會(huì)永遠(yuǎn)陪伴在你身邊,沒有人會(huì)時(shí)刻對(duì)你關(guān)懷備至,體貼入微,倒不如學(xué)會(huì)好好愛自己,不辜負(fù)余生。

你好,我是yltrcc,日常分享技術(shù)點(diǎn)滴,歡迎關(guān)注我

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評(píng)論 19 139
  • MQ的基本概念 MQ概述 MQ全稱 Message Queue(消息隊(duì)列),是在消息的傳輸過程中保存消息的容器。多...
    執(zhí)著的小烏龜閱讀 214評(píng)論 0 0
  • 什么是 RabbitMQ MQ(Message Queue)消息隊(duì)列 消息隊(duì)列中間件,是分布式系統(tǒng)中的重要組件;主...
    YMeng_Zhang閱讀 272評(píng)論 0 2
  • 來自拉鉤教育 1.什么是RabbitMQ 1.1 MQ(Message Queue)消息隊(duì)列 消息隊(duì)列中間件,是分...
    Yuanc丶閱讀 375評(píng)論 0 0
  • 【入門簡介篇】 一、 RabbitMQ特點(diǎn) 開發(fā)語言:Erlang 消息協(xié)議:AM...
    夏天的風(fēng)風(fēng)風(fēng)閱讀 927評(píng)論 0 52

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