28个案例问题分析---16---消息队列的作用和意义--RabbitMq
创始人
2025-05-29 12:48:52

MQ的作用

  • 背景
  • 相关知识
    • 概念:什么是MQ
    • MQ的优缺点
    • 如何使用rabbitmq
  • 总结&提升

背景

之前项目里使用过rabbitmq,但是没有系统的总结过,今天就专门总结一下rabbitmq的好处和意义,并且附上一个小例子。展示一下rabbitMq的简单应用

相关知识

概念:什么是MQ

MQ(Message Queue)消息队列。队列是一种基础的数据结构。具有先进先出的特性,用队列来实现消息的传递。生产者生产消息,将消息放入队列。消费者从队列取出消息(服务端推送,或者订阅),进行消费。
在这里插入图片描述

MQ的优缺点

MQ有三大优点:

  1. 解耦
    如果我们一个业务需要依赖多个模块共同实现。利用MQ,我们只需要在主业务完成之后发送一条MQ消息即可。主业务和其他业务之间,没有强耦合关系。
  2. 异步
    主业务执行完毕之后,就可以返回给前端。从业务进行异步执行,没有必要让用户进行等待。降低业务响应时间,提升用户的体验。
  3. 削峰
    高并发的情况下,通过队列来存储消息,消息对应的业务异步进行处理,避免在流量峰值到来的时候造成系统瘫痪。
    MQ有三大缺点:
  4. 系统依赖的服务多。
  5. 系统复杂性提高。(消息丢失?消息重复消费?消息顺序?)
  6. 业务一致性。主业务与从业务是否一致

如何使用rabbitmq

这里我们就实现简单的在springCloud项目中使用rabbitMq的例子。

  1. 引入依赖
        org.springframework.bootspring-boot-starter-amqp
  1. 添加rabbitMq配置
    在这里插入图片描述

  2. 编写消息生产者
    在这里插入图片描述

  3. 编写消息消费者
    在这里插入图片描述

  4. 测试
    提供一个test接口用来测试

    @Autowiredprivate SpringMqProduceTest springMqProduceTest;@GetMapping("testMq/{message}")public String testMq(@PathVariable("message") String message){springMqProduceTest.testSimpleQueue("testMq",message);return "已发送:"+message;}

执行效果:
调用接口
在这里插入图片描述
控制台输出
在这里插入图片描述

总结&提升

通过总结rabbitMQ的使用,体会MQ消息队列的作用,通过这个队列可以让我们代码耦合度更小。理解MQ的好处才能在以后的工作中更好的使用这门技术。

相关内容

热门资讯

存储全面进入卖方市场:三星10... 《科创板日报》2月26日讯 据Wccftech等援引韩国Dealsite消息,苹果已为iPhone ...
春节人形机器人刷屏,节后板块为...   中新经纬2月26日电 (薛宇飞)2026年央视春晚上,多家机器人公司的产品登台演出,春晚成了人形...
曾经年薪200万元的地产人,改... 曾扎根房地产行业20年,任职研究机构首席分析师和头部民营房企投研负责人,张宏伟的年薪最高曾达到200...
3.7万家酒店的选择!绿云软件... 本文来源:时代商业研究院 作者:时代商业研究院 来源丨时代商业研究院作者丨实习生杨军微编辑丨郑琳20...
科创板募资2.5亿元后赴港,华... 本文来源:时代商业研究院 作者:时代商业研究院 来源丨时代商业研究院作者丨实习生陈嘉婕编辑丨郑琳港交...