RabbitMQ消息中間件

RabbitMQ 是一個由 Erlang 語言開發(fā)的 AMQP 的開源實現(xiàn)瞭吃。是 分布式系統(tǒng)中重要的組件嗜憔,主要解決應用耦合,異步消息便锨,流量削鋒等問題實現(xiàn)高性能围辙,高可用,可伸縮和最終一致性[架構] 使用較多的消息隊列有ActiveMQ放案,RabbitMQ姚建,ZeroMQ,Kafka吱殉,MetaMQ掸冤,RocketMQ
以下介紹消息隊列在實際應用中常用的使用場景:異步處理厘托,應用解耦,流量削鋒和消息通訊四個場景 稿湿。

1.jpg

主要概念:
RabbitMQ Server: 也叫broker server铅匹,它是一種傳輸服務。 他的角色就是維護一條從Producer到Consumer的路線饺藤,保證數(shù)據(jù)能夠按照指定的方式進行傳輸包斑。

Producer: 消息生產(chǎn)者,如圖A策精、B舰始、C,數(shù)據(jù)的發(fā)送方咽袜。消息生產(chǎn)者連接RabbitMQ服務器然后將消息投遞到Exchange丸卷。

Consumer:消息消費者,如圖1询刹、2谜嫉、3,數(shù)據(jù)的接收方凹联。消息消費者訂閱隊列沐兰,RabbitMQ將Queue中的消息發(fā)送到消息消費者。

Exchange:生產(chǎn)者將消息發(fā)送到Exchange(交換器)蔽挠,由Exchange將消息路由到一個或多個Queue中(或者丟棄)住闯。Exchange并不存儲消息。RabbitMQ中的Exchange有direct澳淑、fanout比原、topic、headers四種類型杠巡,每種類型對應不同的路由規(guī)則量窘。

Queue:(隊列)是RabbitMQ的內(nèi)部對象,用于存儲消息氢拥。消息消費者就是通過訂閱隊列來獲取消息的蚌铜,RabbitMQ中的消息都只能存儲在Queue中,生產(chǎn)者生產(chǎn)消息并最終投遞到Queue中嫩海,消費者可以從Queue中獲取消息并消費冬殃。多個消費者可以訂閱同一個Queue,這時Queue中的消息會被平均分攤給多個消費者進行處理叁怪,而不是每個消費者都收到所有的消息并處理造壮。

RoutingKey:生產(chǎn)者在將消息發(fā)送給Exchange的時候,一般會指定一個routing key骂束,來指定這個消息的路由規(guī)則耳璧,而這個routing key需要與Exchange Type及binding key聯(lián)合使用才能最終生效。在Exchange Type與binding key固定的情況下(在正常使用時一般這些內(nèi)容都是固定配置好的)展箱,我們的生產(chǎn)者就可以在發(fā)送消息給Exchange時旨枯,通過指定routing key來決定消息流向哪里。RabbitMQ為routing key設定的長度限制為255bytes混驰。

Connection: (連接):Producer和Consumer都是通過TCP連接到RabbitMQ Server的攀隔。以后我們可以看到,程序的起始處就是建立這個TCP連接栖榨。

Channels: (信道):它建立在上述的TCP連接中昆汹。數(shù)據(jù)流動都是在Channel中進行的。也就是說婴栽,一般情況是程序起始建立TCP連接满粗,第二步就是建立這個Channel。

VirtualHost:權限控制的基本單位愚争,一個VirtualHost里面有若干Exchange和MessageQueue映皆,以及指定被哪些user使用

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市轰枝,隨后出現(xiàn)的幾起案子捅彻,更是在濱河造成了極大的恐慌,老刑警劉巖鞍陨,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件步淹,死亡現(xiàn)場離奇詭異,居然都是意外死亡诚撵,警方通過查閱死者的電腦和手機缭裆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砾脑,“玉大人幼驶,你說我怎么就攤上這事∪鸵拢” “怎么了盅藻?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長畅铭。 經(jīng)常有香客問我氏淑,道長,這世上最難降的妖魔是什么硕噩? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任假残,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘辉懒。我一直安慰自己阳惹,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布眶俩。 她就那樣靜靜地躺著莹汤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颠印。 梳的紋絲不亂的頭發(fā)上纲岭,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音线罕,去河邊找鬼止潮。 笑死,一個胖子當著我的面吹牛钞楼,可吹牛的內(nèi)容都是我干的喇闸。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼窿凤,長吁一口氣:“原來是場噩夢啊……” “哼仅偎!你這毒婦竟也來了?” 一聲冷哼從身側響起雳殊,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤橘沥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后夯秃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體座咆,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年仓洼,在試婚紗的時候發(fā)現(xiàn)自己被綠了介陶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡色建,死狀恐怖哺呜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情箕戳,我是刑警寧澤某残,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站陵吸,受9級特大地震影響玻墅,放射性物質發(fā)生泄漏。R本人自食惡果不足惜壮虫,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一澳厢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦剩拢、人聲如沸线得。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽框都。三九已至,卻和暖如春呵晨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熬尺。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工摸屠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粱哼。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓季二,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揭措。 傳聞我的和親對象是個殘疾皇子胯舷,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容