前言
一、消息队列 MQ
- MQ,Message Queue 消息队列
为什么需要消息队列(MQ)
主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。
我们使用消息队列,通过【异步处理】请求,从而缓解系统的压力。
消息队列常应用于 异步处理,流量削峰,应用解耦,消息通讯 等场景。
当前比较常见的 MQ 中间件有 ActiveMQ、RabbitMQ、RocketMQ、Pulsar。

使用消息队列的好处
(1)解耦
- 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。
(2)可恢复性
- 系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。
- 因为MQ 将消息保存在磁盘中,恢复后可以继续发送消息。
(3)缓冲(重点)
- 有助于控制和优化数据流经过系统的速度,解决生产消息(先缓

本文详细介绍了消息队列MQ的必要性,包括异步处理、解耦、可恢复性、缓冲和灵活处理能力等好处。重点讨论了Kafka,一个分布式、基于发布/订阅的消息队列,强调其高吞吐量、低延迟、可扩展性和持久性等特性。Kafka的组件如Broker、Partition、Leader、Follower和Replica的概念也得到了阐述。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



