RabbitMQ 第1章 RabbitMQ部署
一、概述
RabbitMQ(Message Queue)是當(dāng)前流行的開源的消息隊(duì)列系統(tǒng),用ERLang語言開發(fā),按照AMQP(Advanced Message Queue Protocol)的標(biāo)準(zhǔn)實(shí)現(xiàn),消息隊(duì)列是一種應(yīng)用程序?qū)?yīng)用程序之間的通信方法,應(yīng)用程序通過讀寫出入隊(duì)列的消息(針對應(yīng)用程序的數(shù)據(jù))來通信,則無需專用鏈接來鏈接它們,RabbitMQ便是這樣一種用于應(yīng)用程序之間通信的中間件。
二、架構(gòu)
RabbitMQ的架構(gòu)圖如下:
在此有幾個概念需要說明一下:
1、Exchange:消息交換機(jī),它指定消息按照什么規(guī)則,路由至哪個隊(duì)列。
2、Queue:消息隊(duì)列載體,每個消息都會被投入到一個或者多個隊(duì)列中。
3、Binding:綁定,它的作用就是把exchange和queue按照路由規(guī)則綁定起來。
4、Routing Key:路由關(guān)鍵字,exchange根據(jù)這個關(guān)鍵字進(jìn)行消息投遞。
5、vhost:虛擬主機(jī),一個broker里面可以開設(shè)多個vhost,用作不同用戶的權(quán)限分離。
6、producer:消息生產(chǎn)者,就是投遞消息的程序。
7、consumer:消息消費(fèi)者,就是接受消息的程序。
8、channel:消息通道,在客戶端的每個連接里,可建立多個channel,每個channel代表一個會話任務(wù)。
9、Broker:簡單來說就是消息隊(duì)列服務(wù)器實(shí)體。
消息投遞過程大致如下:
客戶端連接到消息隊(duì)列服務(wù)器,打開一個channel。
客戶端聲明一個exchange,并設(shè)置相關(guān)屬性。
客戶端聲明一個queue,并設(shè)置相關(guān)屬性。
客戶端使用routing key,在exchange和queue之間建立綁定好關(guān)系。
客戶端投遞消息到exchange。
exchange接收到消息后,根據(jù)消息的key和已經(jīng)設(shè)置好的binding,進(jìn)行消息路由,將消息投遞到一個或者多個隊(duì)列里。
RabbitMQ幾個特性:
1、exchange支持多種類型,有fanout、direct、topic、header等,每種類型的都有自己不同的使用場景和性能。
2、RabbitMQ支持消息的持久化,也就是數(shù)據(jù)寫在磁盤上,為了數(shù)據(jù)的安全,我想大多數(shù)用戶都選擇持久化,消息隊(duì)列持久化包括3個部分:
exchange持久化,在聲明時指定durable=>1
queue持久化,在聲明時指定durable=>1
消息持久化,在投遞時指定delivery_mode=>2(此處1是非持久化)
注意:如果exchange和queue都是持久化的,那么它們之間的binding也是持久化的,如果exchange和queue兩者之間有一個持久化,一個非持久化,就不允許建立綁定。
三、安裝
基于windows 32位操作系統(tǒng)的安裝部署:
1、下載ERLang。(百度其官網(wǎng))
2、安裝ERLange,運(yùn)行下載的安裝程序即可,默認(rèn)安裝。
3、安裝完成之后,設(shè)置ERLang的環(huán)境變量,首先建立一個ERL_HOME的變量,如下圖所示:
4、下載rabbitmq-server-3.1.5.exe,并安裝.(百度其官網(wǎng))
5、啟動rabbitma-start開啟rabbit-server服務(wù),啟動過程【開始】--->【程序】--->【RabbitMQ Server】--->【RabbitMQ Service - start】,此時rabbitMQ-server就啟動了。
RabbitMQ
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。