1 選擇訊息佇列MQ

2021-10-04 02:17:28 字數 719 閱讀 4987

更快的返回結果。

減少等待,實現了步驟之間的併發,提公升系統整體效能。

使用訊息佇列隔離閘道器和後端服務,以達到流量控制和保護後端服務的目的。

秒殺開始後,當短時間內大量的秒殺請求到達閘道器時,不會直接衝擊到後端的秒殺服務,而是先堆積在訊息佇列中,後端服務按照自己的最大處理能力,從訊息佇列中消費請求進行處理。

令牌桶:單位時間內只發放固定數量的令牌到令牌桶中,規定服務在處理請求之前必須先從令牌桶中拿出乙個令牌,如果令牌桶中沒有令牌,則拒絕請求。這樣就保證單位時間內,能處理的請求不超過發放令牌的數量,起到了流量控制的作用。

令牌桶可以簡單地用乙個有固定容量的訊息佇列加乙個「令牌發生器」來實現。閘道器在收到請求時去令牌佇列消費乙個令牌,獲取到令牌則繼續呼叫後端秒殺服務,如果獲取不到令牌則直接返回秒殺失敗。

訊息的可靠傳遞:確保不丟訊息;

cluster:支援集群,確保不會因為某個節點宕機導致服務不可用,當然也不能丟訊息;

效能:具備足夠好的效能,能滿足絕大多數場景的效能要求。

1、輕量級、迅捷。

2、支援非常靈活的路由配置,在生產者和佇列之間增加了乙個exchange模組。

問題:1、對訊息堆積的支援不好,大量訊息堆積,rabbitmq效能急劇下降。

2、效能不如其他佇列

3、開發語言erlang小眾

不錯的效能、穩定性、可靠性。活躍的中文社群。毫秒級響應。幾十萬/秒

在國際上沒那麼流行,與生態的整合略遜。

訊息佇列MQ

目錄 一 簡介 二 為什麼需要訊息佇列 mq 三 介紹 訊息佇列 message queuing 在電腦科學中,是一種程序間通訊或同一程序間不同執行緒的通訊方式。廣義上講訊息佇列是解決分布式系統中,各個功能模組間的資訊傳遞通訊方式。與檔案傳輸和rpc相比,訊息佇列具有更好的平台無關性,並能夠很好地支...

MQ訊息佇列

1.解耦 系統a將userid寫到訊息佇列中,系統c和系統d從訊息佇列中拿資料。這樣有什麼好處?系統a只負責把資料寫到佇列中,誰想要或不想要這個資料 訊息 系統a一點都不關心。即便現在系統d不想要userid這個資料了,系統b又突然想要userid這個資料了,都跟系統a無關,系統a一點 都不用改。系...

MQ訊息佇列相關概念 MQ分類及如何選擇

1.1.1.什麼是mq mq message queue 從字面意思上看,本質是個佇列,fifo 先入先出,只不過佇列中存放的內容是message 而已,還是一種跨程序的通訊機制,用於上下游傳遞訊息。在網際網路架構中,mq 是一種非常常見的上下游 邏輯解耦 物理解耦 的訊息通訊服務。使用了 mq 之...