MQ-整体回顾

one

异步、解耦、削峰
MQ-整体回顾_第1张图片

two

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

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

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

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

细节
MQ-整体回顾_第2张图片
connection可以创建多个channel
声明交换机和队列
在这里插入图片描述
MQ-整体回顾_第3张图片

在这里插入图片描述
声明Stream类型的对列
MQ-整体回顾_第4张图片
对列类型的区别:
classic:先进先出
quorum:在classic上增加了消息的可用性【集群中写过超过半数的队列,这消息才算正常写完】
stream:用文本的形式把消息暂存起来

交换机和队列的绑定

channel.exchangeBing()

发送消息

channel.basicPublish()

消费者主动拿消息
在这里插入图片描述

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

消费者被动拿消息
推消息
只要mq收到消息,就会主动向消费端推送消息
MQ-整体回顾_第5张图片
MQ-整体回顾_第6张图片
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
1
MQ-整体回顾_第7张图片
2 work queue
MQ-整体回顾_第8张图片
分发到消费者,只能消费一次
在这里插入图片描述
自动应答,收到就减队列消息。存在拿到消息没有落地到数据库导致消息丢失
手动应答
在这里插入图片描述3 发布订阅模式
MQ-整体回顾_第9张图片
4 direct

5 topics
MQ-整体回顾_第10张图片
6 headers

交换机的header的
MQ-整体回顾_第11张图片
MQ-整体回顾_第12张图片
MQ-整体回顾_第13张图片

7 publish confirms
可靠消息发送

springboot集成

  1. 引入依赖
    MQ-整体回顾_第14张图片
  2. 配置参数
    MQ-整体回顾_第15张图片
  3. 声明
    MQ-整体回顾_第16张图片
  4. 使用RabbitmqTemplate对象发送消息
    在这里插入图片描述
    MQ-整体回顾_第17张图片

你可能感兴趣的:(Python,java,数据库,开发语言)