1、使用消息队列的好处:解耦、异步、削峰
- 解耦:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统不需要做任何修改。
- 异步:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。
- 削峰:系统慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。在生产中,这个短暂的高峰期积压是允许的。
2、使用消息队列的缺点:系统可用性降低、复杂度升高
-
系统可用性降低:加入的消息队列可能会影响原来系统的正常运行,导致系统可用性降低
-
复杂度升高:加入消息队列,就需要考虑很多问题,如:数据一致性问题,防止重复消费,保证消息的可靠传输问题
3、选型
特性 |
ActiveMQ |
RabbitMQ |
RocketMQ |
kafka |
开发语言 | <