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对象发送消息

相关推荐
我登哥MVP3 分钟前
SpringCloud Alibaba 核心组件解析:服务注册与发现(Nacos)
java·spring boot·后端·spring·spring cloud·java-ee·maven
兰令水9 分钟前
leecodecode【单调栈】【2026.6.12打卡-java版本】
java·开发语言·算法
leagsoft_100312 分钟前
零信任选型五刀法——零信任怎么选?五个问题,五条红线
开发语言·php
云烟成雨TD14 分钟前
Agent Scope Java 2.x 系列【8】工具调用
java·人工智能·agent
他们叫我技术总监16 分钟前
Kettle(PDI)连接TDengine数据库实战:一个有趣的小现象
大数据·数据库·tdengine
AI人工智能+电脑小能手22 分钟前
【大白话说Java面试题 第112题】【并发篇】第12题:AQS 中节点的入队时机有哪些?
java·开发语言·面试
摇滚侠22 分钟前
SpringMVC 入门到实战 处理静态资源的过程 64
java·后端·spring·maven·intellij-idea
影寂ldy23 分钟前
C# 泛型委托
java·算法·c#
SilentSamsara23 分钟前
RAG 系统入门:LangChain/LlamaIndex + Chroma 向量数据库的检索增强实战
数据库·人工智能·python·青少年编程·langchain
摇滚侠24 分钟前
MyBatis 入门到项目实战 MyBatis 核心配置文件 15-19
java·tomcat·mybatis