业界主流的分布式消息队列与技术选型

1. 分布式消息队列应用场景

  1. 服务解耦:系统之间、服务之间作出必要的隔离,这是业务层面的划分,然后采用消息队列进行通信
  2. 削峰填谷:比如说秒杀活动,如何对这个服务进行抗压,把流量的高峰和低谷的速率进行一个均衡,这是消息队列做的最核心的事情,就是说把消息缓存到一个地方,然后慢慢的去消费,这就是削峰填谷
  3. 异步化缓冲:有些业务逻辑允许异步操作,只要做到最终一致性即可

2. 分布式消息队列应用思考点

  1. 生产端的可靠性投递,保证这条消息不能丢失
  2. 消费端幂等,对于可能会重复的消息,如果都消费了,那数据肯定不一致的,所以消费端一定要做幂等性的验证
  3. 高可用、低延迟、可靠性,某个mq节点挂了,如何保证服务正常进行

3. 业界主流的分布式消息队列

  1. ActiveMQ:比较古老的mq,适用于中小型的系统,消息的并发和承载能力不够优秀,不适用于高并发、大流量的场景
  2. RabbitMQ: 目前比较热门的mq,可以满足于高并发、大流量的场景,但是横向扩展能力不是特别好
  3. RocketMQ: 阿里巴巴开源的mq,扩展性好,但是可维护性不是很好
  4. Kafka: 主要关注于高吞吐量的业务场景,扩展性好,但是可维护性不是很好
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章