服務解耦:系統之間、服務之間作出必要的隔離,這是業務層面的劃分,然後採用訊息佇列進行通訊
削峰填谷:比如說秒殺活動,如何對這個服務進行抗壓,把流量的高峰和低谷的速率進行乙個均衡,這是訊息佇列做的最核心的事情,就是說把訊息快取到乙個地方,然後慢慢的去消費,這就是削峰填谷
非同步化緩衝:有些業務邏輯允許非同步操作,只要做到最終一致性即可
生產端的可靠性投遞,保證這條訊息不能丟失
消費端冪等,對於可能會重複的訊息,如果都消費了,那資料肯定不一致的,所以消費端一定要做冪等性的驗證
高可用、低延遲、可靠性,某個mq節點掛了,如何保證服務正常進行
activemq:比較古老的mq,適用於中小型的系統,訊息的併發和承載能力不夠優秀,不適用於高併發、大流量的場景
rabbitmq: 目前比較熱門的mq,可以滿足於高併發、大流量的場景,但是橫向擴充套件能力不是特別好
rocketmq: 阿里巴巴開源的mq,擴充套件性好,但是可維護性不是很好
kafka: 主要關注於高吞吐量的業務場景,擴充套件性好,但是可維護性不是很好
分布式訊息佇列
以下是訊息佇列以下的大綱,本文主要介紹訊息佇列概述,訊息佇列應用場景和訊息中介軟體示例 電商,日誌系統 訊息佇列概述 訊息佇列應用場景 訊息中介軟體示例 jms訊息服務 見第二篇 大型 架構系列 分布式訊息佇列 二 常用訊息佇列 見第二篇 大型 架構系列 分布式訊息佇列 二 參考 推薦 資料 見第二...
分布式訊息佇列
訊息佇列中介軟體是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題。實現高效能,高可用,可伸縮和最終一致性架構。是大型分布式系統不可缺少的中介軟體。目前在生產環境,使用較多的訊息佇列有activemq,rabbitmq,zeromq,kafka,metamq,rocketmq等。...
分布式訊息佇列(1)
訊息佇列中介軟體是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題。實現高效能,高可用,可伸縮和最終一致性架構。是大型分布式系統不可缺少的中介軟體。目前在生產環境,使用較多的訊息佇列有activemq,rabbitmq,zeromq,kafka,metamq,rocketmq等。...