每日一句
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)注我