MQ性能

MQ消息積壓如何處理

優(yōu)化性能避免消息積壓

MQ本身的處理能力是遠大于業(yè)務系統(tǒng)的處理能力的沟绪、主流消息隊列的單個節(jié)點氧吐、消息收發(fā)的性能可以達到每秒幾萬到幾十萬的水平、水平擴展Broker的實例數(shù)可以成倍的提升處理能力怀樟、應該更多的關注在消息的收發(fā)兩端功偿、讓業(yè)務代碼和MQ配合、達到最佳性能

  • 發(fā)送端性能優(yōu)化
    若代碼發(fā)送消息的性能較弱、很可能是發(fā)MQ之前的邏輯太耗時導致械荷、一般設置合理的并發(fā)和批量大小共耍、就可以達到很好的性能

MQ的完整交互: P -> Broker -> R
假設單線程發(fā)送、每秒處理請求 1000ms/1ms*1條/1ms = 1000 條msg吨瞎、并不能發(fā)揮MQ的實力

  1. 增加batch大小痹兜、2. 并發(fā)請求 都可以提升性能
    對于關注延時的RPC系統(tǒng)、可以選擇增加并發(fā)量
    對于關注吞吐量的離線分析系統(tǒng)颤诀、它不關心時延字旭、可以選擇批量發(fā)送
  • 消費端性能優(yōu)化
    若消費的速度跟不上msg生產(chǎn)的速度、MQ存儲被填滿之后就會造成無法提供服務崖叫、消息丟失遗淳、對于整個系統(tǒng)都是嚴重故障

消費端的性能優(yōu)化除了優(yōu)化消費業(yè)務邏輯之外、還可以通過簡單的水平擴容來增加消費端的并發(fā)數(shù)來提高整體的消費性能
注意
在擴容consumer實例的同時心傀、必須同步擴容主題中的分區(qū)(隊列)數(shù)量屈暗、確保consumer的實例數(shù)和分區(qū)數(shù)相等、因為每個分區(qū)只支持單線程消費

  • 消息積壓了如何處理脂男?
  1. 若單位時間內(nèi)發(fā)送的消息增多养叛、最快的辦法就是通過擴容消費端的實例來提升總體的消費能力,或者可以通過系統(tǒng)降級宰翅、減少生產(chǎn)者發(fā)送數(shù)據(jù)
  2. 若是消費和生產(chǎn)速度都無明顯變化一铅、需要檢查消費端、數(shù)不勝數(shù)消費失敗導致反復消費
  3. 若是消費變慢堕油、可以快速排查消費日志潘飘、看看消費線程是不是卡著不動了

疑問點記錄

假如、有一個topic掉缺、Q為5卜录、Broker為2

  1. 有3個生產(chǎn)者實例、如何對應到5個Q ?
    不用對應眶明、隨便發(fā)或者指定Q選取規(guī)則

  2. 每個消費組都是單獨的訂閱艰毒、擁有隊列的全部消息、消費完后消息不會刪除

  3. 多個消費組訂閱同一個topic彼此不影響搜囱、
    eg. 消費組G0 | G1 丑瞧、G0掛掉、積壓很多消息蜀肘、對G1也沒有任何影響

  4. 消費位置
    每個消費組會維護一組消費位置绊汹、每個隊列對應一個消費位置、并且消費位置和消費者無關扮宠、保存在服務端

  5. 如何實現(xiàn)單個隊列的并行消費
    eg. MQ中有10條消息西乖、對應的編號是0-9、當前消費位置是5、同時有5获雕、6薄腻、7三個消費者拉取消息、5届案、6庵楷、7三個消息給每個消費者一人一條、理想情況下楣颠、3個消費者成功響應尽纽、消費位置更新為8 實現(xiàn)并行消費
    假如5卡著某個環(huán)節(jié)不動了、位置5就是消息空洞球碉、為了避免整個隊列卡住蜓斧、將5復制到一個重試隊列仓蛆、然后更新消費位置睁冬、消費時優(yōu)先給出重試隊列的數(shù)據(jù)
    這是實現(xiàn)并行消費的一種實現(xiàn)方式、但是開銷很大看疙、不應該作為常規(guī)手段豆拨、若需要增加消費者的并發(fā)數(shù)、還是需要擴容隊列數(shù)

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末能庆,一起剝皮案震驚了整個濱河市施禾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌搁胆,老刑警劉巖弥搞,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渠旁,居然都是意外死亡攀例,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門顾腊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粤铭,“玉大人,你說我怎么就攤上這事杂靶“鸸撸” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵吗垮,是天一觀的道長垛吗。 經(jīng)常有香客問我,道長烁登,這世上最難降的妖魔是什么职烧? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上蚀之,老公的妹妹穿的比我還像新娘蝗敢。我一直安慰自己,他們只是感情好足删,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布厂画。 她就那樣靜靜地躺著层皱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唧喉,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音归榕,去河邊找鬼法挨。 笑死,一個胖子當著我的面吹牛兄旬,可吹牛的內(nèi)容都是我干的狼犯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼领铐,長吁一口氣:“原來是場噩夢啊……” “哼悯森!你這毒婦竟也來了?” 一聲冷哼從身側響起绪撵,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤瓢姻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后音诈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幻碱,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年细溅,在試婚紗的時候發(fā)現(xiàn)自己被綠了褥傍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谒兄,死狀恐怖摔桦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情承疲,我是刑警寧澤邻耕,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站燕鸽,受9級特大地震影響兄世,放射性物質發(fā)生泄漏。R本人自食惡果不足惜啊研,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一御滩、第九天 我趴在偏房一處隱蔽的房頂上張望鸥拧。 院中可真熱鬧,春花似錦削解、人聲如沸富弦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腕柜。三九已至,卻和暖如春矫废,著一層夾襖步出監(jiān)牢的瞬間盏缤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工蓖扑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唉铜,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓律杠,卻偏偏與公主長得像潭流,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俩功,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容