一、MQ(消息队列):
1、本质:
MQ(message queue),本质是个队列,FIFO先入先出原则。在互联网架构中,MQ是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务。
2、优缺点:
(1)、优点:
1)、异步:
不同的业务可以同时从消息队列中获取消息进行消费,实现异步处理。
2)、解耦:
将一组处理流程的业务系统差分成多个子系统,使用消息队列作为缓冲,避免某一子系统发生故障造成整个处理流程异常,提升系统的可用性。
3)、削峰:
将短时间大量并发请求作用于消息队列的缓冲中,避免数据库因并发量过大而宕机。
(2)、缺点:
1)、系统可用性降低:
MQ宕机,导致系统崩溃,如何保证消息队列的高可用?
2)、系统复杂度提高:
如何保证消息没有重复消费?如何处理消息丢失的情况?如何保证消息传递的顺序性?
3)、数据一致性问题:
不同消费者进行写库操作,当存在某消费者写库失败时,导致数据不一致问题,如何保证不同消费者消费同时成功?
3、区别与适合场景:
注:技术实力较为一般,技术挑战不是特别高,用RabbitMQ;基础架构研发实力较强,用 RocketMQ;大数据领域的实时计算、日志采集等场景,用Kafka。
标签:宕机,队列,基础,笔记,如何,MQ,消息,写库 From: https://www.cnblogs.com/Iven-L/p/17331682.html