MQ 的作用
先摘一下百度百科的概念:
MQ(Message Queue)消息队列,是基础数据结构中
先进先出的一种数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。

主要的MQ产品包括:RabbitMQ、RocketMQ、ZeroMQ、Kafka、IBM WebSphere 等。
MQ 的优点
MQ 的主要作用嘛,其实基本大家都知道,为了凑点篇幅,我还是列一下:
- 解耦
在一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理的时候;只需要主业务完成以后,发送一条消息到 MQ,其余模块消费 MQ 消息,即可实现业务,降低模块之间的耦合。
这个其实是大多是MQ主要的功能之一,将消息发送方和接收方隔离。
- 异步
主业务执行结束后从属业务通过 MQ,异步执行,减低业务的响应时间,提高用户体验。
相比于传统的串行、并行方式,提高了系统吞吐量。
- 削峰/限流
高并发情况下,业务异步处理,提供高峰期业务处理能力,避免系统瘫痪。
在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见;如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用MQ能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。
还是以订

本文介绍了MQ的作用,如解耦、异步处理、削峰填谷等,并探讨了其缺点,如系统可用性降低、复杂性提高等。接着对比了主流MQ产品RabbitMQ、RocketMQ和Kafka,分析了各自适用场景和特点,如RabbitMQ适合实时高可靠性消息,RocketMQ适合大规模复杂业务,Kafka则适合大数据实时计算和日志收集。
最低0.47元/天 解锁文章
305

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



