【消息队列】关于消息队列的优缺点
一、消息队列的优点
优点:解耦、异步、削峰
1)解耦(通过MQ可实现模块或系统间的解耦)
直接调用
使用MQ
2)异步
异步一般指方法级别间的调用,原理上同解耦
3)削峰
比如A系统最大的处理能力是1000/s(即每秒1000并发的请求),假如某时刻的请求超过1000怎么办,那么我们就可以使用MQ,让系统根据自己的处理能力慢慢的处理。
二、消息队列的缺点
缺点:系统可用性降低、系统复杂性提高、一致性问题
1)系统可用性降低
可用性降低怎么理解呢,假如开始只有A、B、C、D四个系统,现在又引入了MQ,那么MQ一旦挂掉了,A和B、C、D系统的通信就都挂掉。
2)系统复杂性提高
引入MQ后,我们就需要考虑一下几点:
1.怎么处理消息丢失的情况
2.怎么保证消息没有重复消费
3.怎么保证消息传递的顺序性
3)一致性问题
如何保证发送消息的系统A和消费消息的系统B,要么都成功,要么都失败呢?
你投入得越多,就能得到越多得价值