當前位置:首頁>>資訊中心>>行業動態 ? 汽車電池充電試驗電源(削峰填谷)
MQ,很多的應用場景,是消息的訂閱發布,是系統上下游的解耦,MQ的還有一個典型應用場景是緩沖流量,削峰填谷,本文將簡單介紹下,MQ要怎么實現緩沖流量,削峰填谷。站點與服務上下游之間,一般如何通訊?有兩種常見的方式。一種是“直接調用”,通過RPC框架,上游直接調用下游。
一種是“MQ推送”,上游將消息發給MQ,MQ將消息推送給下游。這兩種方式,能否緩存流量,能否削峰填谷?不能。不管采用“直接調用”還是“MQ推送”,都有一個缺點,下游消息接收方無法控制到達自己的流量,如果調用方不限速,很有可能把下游壓垮。舉個栗子,秒殺業務:上游:發起下單操作。下游:完成秒殺業務邏輯(庫存檢查,庫存凍結,余額檢查,余額凍結,訂單生成,余額扣減,庫存扣減,生成流水,余額解凍,庫存解凍)。上游下單業務簡單,每秒發起了10000個請求,下游秒殺業務復雜,每秒只能處理2000個請求,很有可能上游不限速的下單,導致下游系統被壓垮,引發雪崩。如何避免下游被壓垮呢?為了避免雪崩,常見的優化方案有兩種:(1)業務上游隊列緩沖,限速發送;(2)業務下游隊列緩沖,限速執行;不管哪種方案,都會引入業務的復雜性,有“緩沖流量”需求的系統都需要加入類似的機制,正所謂“通用痛點統一解決”,需要一個通用的機制解決這個問題。能否通過MQ實現緩沖流量?可以,但需要簡單修改。MQ要怎么改,能緩沖流量?由MQ-server推模式,升級為MQ-client拉模式。
MQ-client根據自己的處理能力,每隔一定時間,或者每次拉取若干條消息,實施流控,達到保護自身的效果。并且這是MQ提供的通用功能,無需上下游修改代碼。如果上游發送流量過大,MQ提供拉模式確實可以起到下游自我保護的作用,會不會導致消息在MQ中堆積?下游MQ-client拉取消息,消息接收方能夠批量獲取消息,需要下游消息接收方進行優化,方能夠提升整體吞吐量,例如:批量寫。結論(1)MQ-client提供拉模式,定時或者批量拉取,可以起到削平流量,下游自我保護的作用(MQ需要做的);(2)要想提升整體吞吐量,需要下游優化,例如批量處理等方式(消息接收方需要做的);架構優化要整體考慮,需要通用服務和業務方一起優化升級。
?
?真人出鏡,歡迎關注+點贊?
?
濟南能華機電設備有限公司是一家專業從事直流穩壓電源、逆變電源、脈沖電源、高壓電源、電力通信電源、開關電源、遠供電源、充電機、程控變頻電源、程控直流電源、大電流恒流源、碼頭岸電電源、軍工電源、電力測試電源測試系統的研發、生產、銷售于一體的高新科技專業化公司,產品廣泛應用于家用電器、電機測試、碼頭船廠、航天航空、電力測試、進口設備、新能源等多種應用領域。 濟南能華機電設備有限公司嚴格執行ISO9001:2001質量管理體系和GJB9001A-2001軍工產品質量體系相關標準,始終堅持“以客戶需求為導向,以產品質量為依托”,為客戶提供快捷的行業解決方案,得到了各行業眾多客戶的高度贊揚。濟南能華機電設備有限公司堅持“科技創新”為持續發展動力,依托“···