RabbitMQ六种队列模式-简单队列模式
前言
RabbitMQ六種隊列模式-簡單隊列 [本文]
RabbitMQ六種隊列模式-工作隊列
RabbitMQ六種隊列模式-發布訂閱
RabbitMQ六種隊列模式-路由模式
RabbitMQ六種隊列模式-主題模式
在官網的教程中,描述了如上六類工作隊列模式:
接下來幾篇文章一起來看看這幾種隊列模式吧,本篇為簡單隊列模式。
文章目錄
文章目錄
- 前言
- 文章目錄
- 1 實現功能
- 2 構建項目
- 2.1 導入依賴
- 2.2 封裝Connection
- 3 生產者
- 4 消費者
- 5 測試環節
- 5.1 啟動RabbitMQ
- 5.2 創建vhost
- 5.3 依次運行Producer\Customer
- 6 簡單隊列總結
1 實現功能
功能描述:一個生產者 P 發送消息到隊列 Q,一個消費者 C 接收
P 表示為生產者 、C 表示為消費者,紅色表示隊列。
2 構建項目
創建一個簡單的maven項目
- rabbitmq 父工程
– common 存放公用工具類
– customer 消費者
– producer生產者
2.1 導入依賴
在 rabbitmq 父工程 pom.xml 導入 maven 依賴
<dependencies><dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>3.6.5</version></dependency> </dependencies>2.2 封裝Connection
common模塊中封裝 rabbitmq 連接類
public class MQConnectionUtils {public static Connection newConnection() throws IOException, TimeoutException {/** 1.定義連接工廠 */ConnectionFactory factory = new ConnectionFactory();/** 2.設置服務器地址 */factory.setHost("127.0.0.1");/** 3.設置協議端口號 */factory.setPort(5672);/** 4.設置vhost */factory.setVirtualHost("test001_host");/** 5.設置用戶名稱 */factory.setUsername("guest");/** 6.設置用戶密碼 */factory.setPassword("guest");/** 7.創建新的連接 */Connection newConnection = factory.newConnection();return newConnection;}}3 生產者
生產者負責創建消息隊列并發送消息入列,簡單分為5步:
4 消費者
消費者實現和生產者實現過程差不多,但是沒有關閉連接和通道,是因為要消費者一直等待隨時可能發來的消息,大致分為如下3步:
5 測試環節
至此,整個項目代碼寫完了,接下來就是測試環節
5.1 啟動RabbitMQ
5.2 創建vhost
5.3 依次運行Producer\Customer
Producer生產者啟動
Rabbit管理平臺,三條消息
Customer消費者啟動
6 簡單隊列總結
簡單隊列也稱為點對點,即一個生產者對應一個消費者,生產者發送消息到隊列,消費者在隊列中取出消息消費。
生產者大致步驟:
消費者大致步驟:
簡單隊列雖然簡單,但是有一些不足,比如這種點對點無疑在復雜情況下會產生大量冗余代碼,繼續看下一篇工作隊列吧。
案例代碼:https://www.lanzous.com/i5ydu6d
我創建了一個java相關的公眾號,用來記錄自己的學習之路,感興趣的小伙伴可以關注一下微信公眾號哈:niceyoo
總結
以上是生活随笔為你收集整理的RabbitMQ六种队列模式-简单队列模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring AOP 面向切面编程
- 下一篇: 脱离极域电子教室软件控制策略(实测有效)