消息队列之RabbitMQ

为什么要使用消息队列

1. 实现异步

2. 实现解耦

串行任务的并行化

3.流量削峰

高负载任务的负载均衡,高并发流量先放到消息队列中,进行异步处理

4.实现广播

发布/订阅模式,比如下图中,要增加积分系统,只需要积分系统绑定监听即可


RabbitMQ的工作模型


RabbitMQ 交换机类型

1. 直连类型 Direct Exchange

2.主题类型 Topic Exchange

3.广播类型 Fanout Exchange

SpringBoot集成RabbitMQ

1. 配置类:创建交换机,创建队列,创建绑定关系

2. 消费者: 监听队列 @RabbitListener

3. 生产者: AmqpTemplate 或者RabbitTemplate 已经封装好了

4. 服务器信息配置:生产者和消费者都要配置

消息可靠性投递分析

如何确保消息发送到RabbitMQ服务器

1. 使用Rabbit的事务模式,channel.txSelect()等等,类似于数据库事务,不过这种模式是同步阻塞的


2.另外使用confirm的模式,使用异步的方式

如何处理交换机无法路由的消息

1. 可以在channel上绑定监听器,无法找到的时候会有反馈

2. 指定收到无法路由的消息时候,发送到制定的队列

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时...
    预流阅读 586,620评论 51 787
  • 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时...
    中v中阅读 2,035评论 0 20
  • 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时...
    Johnson_zx阅读 1,155评论 0 5
  • rabbitMQ是一款基于AMQP协议的消息中间件,它能够在应用之间提供可靠的消息传输。在易用性,扩展性,高可用性...
    点融黑帮阅读 3,131评论 3 41
  • 国庆节就要离开工作6年的上海,今天请假一天,到处逛逛,天气还不错,逛逛外滩和陆家嘴,以后来上海的机会很少。 闲话少...
    莫奈大花园阅读 650评论 0 1

友情链接更多精彩内容