一、消息队列概述
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。
推荐阅读
为什么阿里的程序员成长如此之快?看完Alibaba“Java成长笔记”我懂了!_马小梦的博客-CSDN博客blog.csdn.net
推荐观看
大厂面试真题集结地:阿里三面+腾讯二面+支付宝三面+拼多多二面+字节四面+淘宝五面_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com
厉害了!B站最全网络底层汇总:TCP、Sockt、三次握手、四次挥手、NIO、Epoll、多路复用(附赠源码、脑图)www.bilibili.com
阿里资深架构师讲解最“细”的spring源码(附赠讲课资料和源码)www.bilibili.com
Java架构师必会六大核心知识点:多线程、JVM、设计模式、MySQL、Redis、ZooKeeperwww.bilibili.com
你从未听过的全新版本!Tomcat、TCP/IP、IO、分布式微服务架构全解www.bilibili.com
二、消息队列应用场景
以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。本篇使用ActiveMQ+SpringBoot来模拟这四个场景。
2.1异步处理
场景说明:汽车触发围栏报警后,需要发送报警邮件和报警短信。传统的做法有两种1.串行的方式;2.并行方式。
(1)串行方式:将报警信息写入数据库成功后,发送报警邮件,再发送报警短信。以上三个任务全部完成后,该报警信息加入统计列表。
(2)并行方式:报警信息写入数据库成功后,同时发送报警邮件和短信。