【转】RabbitMQ六种队列模式-1.简单队列模式
前言
RabbitMQ六種隊列模式-簡單隊列?[本文]
RabbitMQ六種隊列模式-工作隊列
RabbitMQ六種隊列模式-發布訂閱
RabbitMQ六種隊列模式-路由模式
RabbitMQ六種隊列模式-主題模式
在官網的教程中,描述了如上六類工作隊列模式:
接下來幾篇文章一起來看看這幾種隊列模式吧,本篇為簡單隊列模式。
文章目錄
1 實現功能2 構建項目2.1 導入依賴2.2 封裝Connection3 生產者4 消費者5 測試環節5.1 啟動RabbitMQ5.2 創建vhost5.3 依次運行Producer\Customer6 簡單隊列總結
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
總結
以上是生活随笔為你收集整理的【转】RabbitMQ六种队列模式-1.简单队列模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 罗永浩债务还剩不到1亿:直言想在AR平台
- 下一篇: 家长每天让娃600个摸高跳助长 一张诊断