赞
踩
一、什么是MQ?
MQ:messagequeue,消息队列。队列,是一种FIFO先进先出的数据结构。消息由生产者发送消息到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。
二、MQ的优点
1、异步:提升系统的响应速度,吞吐量。
2、解耦:服务之间进行解耦,才可以减少服务之间的影响,提高系统整体的稳定性以及可扩展性。另外解耦后可以实现数据分发。生产者发送一个消息后,可以由一个或者多个消费者进行消费,并且消费者的增加或者减少对生产者没有影响。
3、削峰:以稳定的系统资源应对突发的流量冲击。
三、MQ的缺点
1、系统可用性降低:系统引入的外部依赖增多,系统的稳定性就会变差。一旦MQ宕机,就会对业务产生影响。(需要考虑如何保证MQ的高可用)
2、系统的复杂度提高:引入MQ后系统的复杂度会大大提高。以前服务之间可以进行同步的服务调用,引入MQ后,会变成异步调用,数据链路会变得更复杂。并且还会带来一系列的问题。(如何保证消息不会丢失?不会被重复调用?怎么保证消息的顺序性?)
3、消息一致性问题:A系统处理完业务,通过MQ发送消息给B、C系统进行后续的业务处理。如果B系统成功,C系统失败,这就需要考虑消息的一致性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。