MQ-整体回顾

one

异步、解耦、削峰

two

深入理解核心编程模型及消息应用场景

主要通过多了QUEUE进行交换消息

虚拟机的消息是不能发到另外虚拟机的Queue上的

  1. 生产者创建connection建立连接
  2. 通过connection声明channel信道
  3. 通过channel声明队列
  4. 声明好队列后发送消息
  5. 消费者拿到connection
  6. 打开信道channel
  7. channel声明队列
  8. channel拿到消息进行交互

细节

connection可以创建多个channel
声明交换机和队列


声明Stream类型的对列

对列类型的区别:

classic:先进先出

quorum:在classic上增加了消息的可用性【集群中写过超过半数的队列,这消息才算正常写完】

stream:用文本的形式把消息暂存起来

交换机和队列的绑定

java 复制代码
channel.exchangeBing()

发送消息

java 复制代码
channel.basicPublish()

消费者主动拿消息

不知道消息什么时候来,会不及时不建议使用

消费者被动拿消息
推消息

只要mq收到消息,就会主动向消费端推送消息



1

2 work queue

分发到消费者,只能消费一次

自动应答,收到就减队列消息。存在拿到消息没有落地到数据库导致消息丢失

手动应答
3 发布订阅模式

4 direct

5 topics

6 headers

交换机的header的


7 publish confirms

可靠消息发送

springboot集成

  1. 引入依赖
  2. 配置参数
  3. 声明
  4. 使用RabbitmqTemplate对象发送消息

相关推荐
czhc1140075663几秒前
数据库517 数据注入
数据库
吃好睡好便好1 分钟前
在Matlab中绘制二维等高线图
开发语言·人工智能·学习·算法·matlab
wkj0012 分钟前
JavaScript模块化技术进程详解
开发语言·javascript·ecmascript
2zcode3 分钟前
基于Matlab元胞自动机模拟(CA)动态再结晶过程
开发语言·matlab·动态再结晶
Gerardisite3 分钟前
企业微信怎么玩?用 API 打造智能私域助手
开发语言·python·机器人·企业微信
六月雨滴4 分钟前
Oracle 数据库安全审计
数据库·oracle·dba
砚底藏山河5 分钟前
股票数据API接口:(沪深A股)如何获取股票当天逐笔交易数据
java·windows·python·maven
buhuizhiyuci6 分钟前
【QT-百日筑基篇】打完完怪,开始学炼丹, 前往藏书阁寻找对应材料的信息,并前往去寻找对应材料-QT信号和槽
开发语言·qt
csbysj20209 分钟前
Bootstrap5 Jumbotron 深入解析
开发语言
郝学胜-神的一滴13 分钟前
CMake 010 :一步到位链接静态库
开发语言·c++·qt·程序人生·系统架构·cmake