業界主流的分佈式消息隊列與技術選型

1. 分佈式消息隊列應用場景

  1. 服務解耦:系統之間、服務之間作出必要的隔離,這是業務層面的劃分,然後採用消息隊列進行通信
  2. 削峯填谷:比如說秒殺活動,如何對這個服務進行抗壓,把流量的高峯和低谷的速率進行一個均衡,這是消息隊列做的最核心的事情,就是說把消息緩存到一個地方,然後慢慢的去消費,這就是削峯填谷
  3. 異步化緩衝:有些業務邏輯允許異步操作,只要做到最終一致性即可

2. 分佈式消息隊列應用思考點

  1. 生產端的可靠性投遞,保證這條消息不能丟失
  2. 消費端冪等,對於可能會重複的消息,如果都消費了,那數據肯定不一致的,所以消費端一定要做冪等性的驗證
  3. 高可用、低延遲、可靠性,某個mq節點掛了,如何保證服務正常進行

3. 業界主流的分佈式消息隊列

  1. ActiveMQ:比較古老的mq,適用於中小型的系統,消息的併發和承載能力不夠優秀,不適用於高併發、大流量的場景
  2. RabbitMQ: 目前比較熱門的mq,可以滿足於高併發、大流量的場景,但是橫向擴展能力不是特別好
  3. RocketMQ: 阿里巴巴開源的mq,擴展性好,但是可維護性不是很好
  4. Kafka: 主要關注於高吞吐量的業務場景,擴展性好,但是可維護性不是很好
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章