RabbitMQ

1.什么是MQ

MQ本质是一个队列,FIFO先入先出,只不过队列存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息,在互联网架构中,是一种非常常见的上下游 逻辑解耦+物理解耦 的消息通信服务,使用了MQ,消息发送上游只需要依赖MQ,不需要依赖其他服务

2.为什么要使用MQ

 

 

 

 

 

 

 

 3.MQ的分类

 

 

 

 

 

 

 

 4.MQ的选择

 

 5.RabbitMQ

 

 

 

 

 

 

 

 

 

 

 

 

 6.手写一个生产者跟消费者

 

 

 

 

 

 

 

 

 

 

 

 

 7.工作队列原理

 

 

 

 

 8.消息应答

 

 

       手动应答

 

建议不适用 批量应答

 

 

 

 

 

      手动应答的代码

 

 

 

 

 

 

 

 

 

 

 

 

      设置不公平分发

 

 

 

 

 

      只有3个条件都满足后,MQ才能确保消息保存到了磁盘上并进行了持久化

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 TTL:存活时间

 

      普通队列代码

 

 

 

 

       生产者代码

 

       死信队列代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       生产者代码

 

       消费者代码

 

 

 

 

 

 

      生产者代码

 

 

       延迟队列(基于死信队列存在的问题)

 

 

 

posted @ 2022-02-08 11:01  最强Java代表  阅读(43)  评论(0)    收藏  举报