消息隊(duì)列——RabbitMQ
1. 寫在前面
昨天簡(jiǎn)單學(xué)習(xí)了一個(gè)消息隊(duì)列項(xiàng)目——RabbitMQ,今天趁熱打鐵,將學(xué)到的東西記錄下來。
學(xué)習(xí)的資料主要是官網(wǎng)給出的6個(gè)基本的消息發(fā)送/接收模型,或者稱為6種不同的使用場(chǎng)景,本文便是對(duì)這6種模型加以敘述。
2. Tutorials
在學(xué)習(xí)6種模型之前,我們首先需要安裝RabbitMQ。RabbitMQ支持多種系統(tǒng)平臺(tái),各平臺(tái)的安裝方法可以點(diǎn)此查看。安裝好之后,我們使用如下命令啟用Web端的管理插件:rabbitmq-plugins enable rabbitmq_management,然后啟動(dòng)RabbitMQ。接著用瀏覽器訪問http://localhost:15672/,若能看到RabbitMQ相關(guān)Web頁面,說明啟動(dòng)成功。
2.1 Hello World
正所謂萬事開頭難,我們先從最簡(jiǎn)單的Hello World開始。首先當(dāng)然是新建一個(gè)項(xiàng)目,導(dǎo)入RabiitMQ相關(guān)jar。我采用Maven來構(gòu)建項(xiàng)目,因此只需要在pom文件中添加如下依賴:
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.6.5</version>
</dependency>
接下來學(xué)習(xí)最簡(jiǎn)單的消息隊(duì)列模型,如下圖:
在圖中,P代表producer,它是消息的生產(chǎn)者;C代表consumer,它是消息的消費(fèi)者;而紅色的矩形正是我們所謂的消息隊(duì)列,它位于RabbitMQ中(RabbitMQ中可以有很多這樣的隊(duì)列,并且每個(gè)隊(duì)列都有一個(gè)唯一的名字)。生產(chǎn)者(們)可以將消息發(fā)送到消息隊(duì)列中,消費(fèi)者(們)可以從消息隊(duì)列中取出消息。
這種模型是不是很簡(jiǎn)單呢?下面我們使用Java,借助于RabbitMQ來實(shí)現(xiàn)這種模型的消息通信。
首先我們介紹如何send消息到消息隊(duì)列。send之前,當(dāng)然是和RabbitMQ服務(wù)器建立連接:
ConnectionFactory factory = new
延伸閱讀
- ssh框架
2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖
2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe
2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】
2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞
2017-07-26
- 從棧不平衡問題 理解 calling convention
2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明
2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解
2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析
2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二)
2017-07-26
學(xué)習(xí)是年輕人改變自己的最好方式