Rabbitmq打怪升級(jí)之路(七)AMQP協(xié)議

簡(jiǎn)書(shū):亞武de小文 【原創(chuàng):轉(zhuǎn)載請(qǐng)注明出處】

生產(chǎn)者與消費(fèi)者模型

LengToo上學(xué).png

RabbitMQ 是遵從 AMQP 協(xié)議的祷安, 換句話說(shuō) 姥芥, RabbitMQ 就是 AMQP協(xié)議的 Erlang 的實(shí)現(xiàn)(當(dāng)然 RabbitMQ 還支持 STOMP2 、 MQTT3 等協(xié)議 ) 0 AMQP 的模型架構(gòu)和 RabbitMQ 的模型架構(gòu)是一樣的汇鞭,生產(chǎn)者將消息發(fā)送給交換器凉唐,交換器和隊(duì)列綁定 庸追。

AMQP模型圖
AMQP模型圖.png
內(nèi)部三層
  • Module Layer:
    位于協(xié)議最高層,主要定義了一些供客戶端調(diào)用的命令台囱,客戶端可以利用這些命令實(shí)現(xiàn)自己的業(yè)務(wù)邏輯淡溯。例如,客戶端可以使用 Queue . Declare 命令聲明一個(gè)隊(duì)列或者使用 Basic.Consume 訂閱消費(fèi)一個(gè)隊(duì)列中的消息簿训。
  • Session Layer:
    位于中間層血筑,主要負(fù)責(zé)將客戶端的命令發(fā)送給服務(wù)器,再將服務(wù)端的應(yīng)答返回給客戶端煎楣,主要為客戶端與服務(wù)器之間的通信提供可靠性同步機(jī)制和錯(cuò)誤處理豺总。
  • Transport Layer:
    位于最底層,主要傳輸二進(jìn)制數(shù)據(jù)流 择懂,提供幀的處理喻喳、信道復(fù)用、錯(cuò)誤檢測(cè)和數(shù)據(jù)表示等困曙。
amqp生產(chǎn)者代碼
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
factory.setUsername("guest");
factory.setPassword("guest");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
String message = "Hello,亞武de小文慷丽!";
channel.basicPublish("", QUEUE_NAME, null, msg);
amqp消費(fèi)者代碼
ConnectionFactory factory = new ConnectionFactory();
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
Consumer consumer = new DefaultConsumer(channel) {......}
channel.basicConsume(QUEUE_NAME, true, consumer);
常用命令
名稱 是否包含內(nèi)容體 對(duì)應(yīng)客戶端中方法 簡(jiǎn)要描述
Connection.Start factory.newConnection 建立連接相關(guān)
Connection.Close connection.close 關(guān)閉連接
Channel.Open connection.openChannel 開(kāi)啟信道
Channel.Close channel.close 關(guān)閉信道
Exchange.Declare channel.exchangeDeclare 聲明交換器
Exchange.Declare channel.exchangeDelete 刪除交換器
Queue.Declare channel.queueDeclare 聲明隊(duì)列
Queue.Bind channel.queueBind 隊(duì)列與交換機(jī)綁定
Queue.purge channel.queuePurge 清除隊(duì)列中的內(nèi)容
Queue.Delete channel.queueDelete 刪除隊(duì)列
Queue.Unbind channel.queueUnbind 隊(duì)列與交換機(jī)解綁
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者要糊。
  • 序言:七十年代末纲熏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锄俄,更是在濱河造成了極大的恐慌局劲,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奶赠,死亡現(xiàn)場(chǎng)離奇詭異鱼填,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)毅戈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門苹丸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人苇经,你說(shuō)我怎么就攤上這事赘理。” “怎么了塑陵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵感憾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)阻桅,這世上最難降的妖魔是什么凉倚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮嫂沉,結(jié)果婚禮上稽寒,老公的妹妹穿的比我還像新娘。我一直安慰自己趟章,他們只是感情好杏糙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蚓土,像睡著了一般宏侍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜀漆,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天谅河,我揣著相機(jī)與錄音,去河邊找鬼确丢。 笑死绷耍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鲜侥。 我是一名探鬼主播褂始,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼描函!你這毒婦竟也來(lái)了崎苗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤赘阀,失蹤者是張志新(化名)和其女友劉穎益缠,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體基公,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年宋欺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轰豆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡齿诞,死狀恐怖酸休,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情祷杈,我是刑警寧澤斑司,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站牌借,受9級(jí)特大地震影響婶肩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鹊碍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一僵缺、第九天 我趴在偏房一處隱蔽的房頂上張望胡桃。 院中可真熱鬧,春花似錦磕潮、人聲如沸翠胰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)之景。三九已至,卻和暖如春膏潮,著一層夾襖步出監(jiān)牢的瞬間锻狗,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工戏罢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屋谭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓龟糕,卻偏偏與公主長(zhǎng)得像桐磁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子讲岁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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

  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981閱讀 15,940評(píng)論 2 11
  • RabbitMQ詳解 本文地址:http://www.host900.com/index.php/articles...
    嘉加家佳七閱讀 2,518評(píng)論 0 9
  • 概述 本文介紹一下AMQP協(xié)議和RabbitMQ中幾個(gè)比較重要的方法 AMQP 我們知道RabbitMQ是遵從AM...
    Tian_Peng閱讀 2,096評(píng)論 0 1
  • 1 RabbitMQ安裝部署 這里是ErLang環(huán)境的下載地址http://www.erlang.org/down...
    Bobby0322閱讀 2,243評(píng)論 0 11
  • 什么叫消息隊(duì)列我擂? 消息(Message)是指在應(yīng)用間傳送的數(shù)據(jù)。消息可以非常簡(jiǎn)單缓艳,比如只包含文本字符串校摩,也可以更復(fù)...
    Agile_dev閱讀 2,377評(píng)論 0 24