大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 消息隊(duì)列MQ詳解

消息隊(duì)列MQ詳解

更新時(shí)間:2021-08-09 17:08:04 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1307次

我們不會(huì)平白無(wú)故引入一個(gè)技術(shù)棧,一定是看重它的某些特性,畢竟引入一個(gè)技術(shù)可能存在弊端和風(fēng)險(xiǎn)。我們?cè)谡務(wù)摓槭裁词褂孟㈥?duì)列的時(shí)候一定要根據(jù)具體業(yè)務(wù)來(lái),比如在實(shí)際業(yè)務(wù)中遇到了什么困難,如果不使用消息隊(duì)列就很棘手,通過(guò)使用消息后解決了哪些問(wèn)題。這里總結(jié)了三點(diǎn)比較核心原因:解耦、異步、削峰。

解耦

在某個(gè)場(chǎng)景下,A系統(tǒng)需要向BCD系統(tǒng)通過(guò)接口調(diào)用發(fā)送一條數(shù)據(jù)過(guò)去,這個(gè)時(shí)候E系統(tǒng)也要數(shù)據(jù),D系統(tǒng)也要數(shù)據(jù),此時(shí)A系統(tǒng)內(nèi)心肯定是崩潰的。

mq隊(duì)列

上訴場(chǎng)景中A系統(tǒng)和其他系統(tǒng)耦合性很高,每當(dāng)產(chǎn)生一條數(shù)據(jù)的時(shí)候A系統(tǒng)都要考慮到其他系統(tǒng)是否在線(xiàn)?是否掛掉?是否接收正常?所以A系統(tǒng)真的是太難了!

如果使用MQ,A系統(tǒng)產(chǎn)生一條數(shù)據(jù)后就放進(jìn)MQ,其他系統(tǒng)需要就自己到MQ系統(tǒng)中去消費(fèi),不需要就可以取消對(duì)該消息的訂閱,A系統(tǒng)壓根不需要再考慮給其他系統(tǒng)發(fā)送數(shù)據(jù)的各種亂七八糟問(wèn)題。

mq隊(duì)列

總結(jié):通過(guò)一個(gè)MQ,Pub/Sub發(fā)布訂閱消息這么一個(gè)模型,A系統(tǒng)就跟其它系統(tǒng)徹底解耦了。

異步

在某場(chǎng)景下,A系統(tǒng)收到一條數(shù)據(jù)后需要在自己本地寫(xiě)庫(kù),同時(shí)還要在BCD三個(gè)系統(tǒng)寫(xiě)庫(kù),自己本地寫(xiě)庫(kù)要3ms,BCD三個(gè)系統(tǒng)分別寫(xiě)庫(kù)要300ms、450ms、200ms。總共要延時(shí)3+300+450+200=953ms,接近1s啊,對(duì)強(qiáng)迫癥的人來(lái)說(shuō)簡(jiǎn)直要爆炸!

mq隊(duì)列

正常一個(gè)請(qǐng)求控制在200ms左右,客戶(hù)是沒(méi)有感知的。

如果使用MQ,那么A系統(tǒng)連續(xù)發(fā)送3條消息到MQ隊(duì)列中,假如耗時(shí)5ms,A系統(tǒng)從接受一個(gè)請(qǐng)求到返回響應(yīng)給用戶(hù),總時(shí)長(zhǎng)是3+5=8ms,對(duì)于用戶(hù)而言,其實(shí)感覺(jué)上就是點(diǎn)個(gè)按鈕,8ms以后就直接返回了,爽!網(wǎng)站做得真好,真快!美滋滋!

mq隊(duì)列

削峰

每天0:00到12:00,A系統(tǒng)風(fēng)平浪靜,每秒并發(fā)請(qǐng)求數(shù)量就50個(gè)。結(jié)果每次一到12:00~13:00,每秒并發(fā)請(qǐng)求數(shù)量突然會(huì)暴增到5k+條。但是系統(tǒng)是直接基于MySQL的,大量的請(qǐng)求涌入MySQL,每秒鐘對(duì)MySQL執(zhí)行約5k條SQL。

一般的MySQL,扛到每秒2k個(gè)請(qǐng)求就差不多了,如果每秒請(qǐng)求到5k的話(huà),可能就直接把MySQL給打死了,導(dǎo)致系統(tǒng)崩潰,用戶(hù)也就沒(méi)法再使用系統(tǒng)了。但是高峰期一過(guò),到了下午的時(shí)候,就成了低峰期,可能也就1w的用戶(hù)同時(shí)在網(wǎng)站上操作,每秒中的請(qǐng)求數(shù)量可能也就50個(gè)請(qǐng)求,對(duì)整個(gè)系統(tǒng)幾乎沒(méi)有任何的壓力。

如果使用MQ,每秒5k個(gè)請(qǐng)求寫(xiě)入MQ,A系統(tǒng)每秒鐘最多處理2k個(gè)請(qǐng)求,因?yàn)镸ySQL每秒鐘最多處理2k個(gè)。A系統(tǒng)從MQ中慢慢拉取請(qǐng)求,每秒鐘就拉取2k個(gè)請(qǐng)求,不要超過(guò)自己每秒能處理的最大請(qǐng)求數(shù)量就ok,這樣下來(lái),哪怕是高峰期的時(shí)候,A系統(tǒng)也絕對(duì)不會(huì)掛掉。而MQ每秒鐘5k個(gè)請(qǐng)求進(jìn)來(lái),就2k個(gè)請(qǐng)求出去,結(jié)果就導(dǎo)致在中午高峰期(1個(gè)小時(shí)),可能有幾十萬(wàn)甚至幾百萬(wàn)的請(qǐng)求積壓在MQ中。

mq隊(duì)列

這個(gè)短暫的高峰期積壓是ok的,因?yàn)楦叻迤谶^(guò)了之后,每秒鐘就50個(gè)請(qǐng)求進(jìn)MQ,但是A系統(tǒng)依然會(huì)按照每秒2k個(gè)請(qǐng)求的速度在處理。所以說(shuō),只要高峰期一過(guò),A系統(tǒng)就會(huì)快速將積壓的消息給解決掉。

消息隊(duì)列的缺點(diǎn)

上面吹了消息隊(duì)列的一堆優(yōu)點(diǎn),但是也不能不知道使用它帶來(lái)的一些缺點(diǎn)吧!缺點(diǎn)有以下幾點(diǎn):

  • 系統(tǒng)可用性降低

系統(tǒng)引入的外部依賴(lài)越多,越容易掛掉。本來(lái)你就是A系統(tǒng)調(diào)用BCD三個(gè)系統(tǒng)的接口就好了,人ABCD四個(gè)系統(tǒng)好好的,沒(méi)啥問(wèn)題,你偏加個(gè)MQ進(jìn)來(lái),萬(wàn)一MQ掛了咋整,MQ一掛,整套系統(tǒng)崩潰的,你不就完了?

  • 系統(tǒng)復(fù)雜度提高

硬生生加個(gè)MQ進(jìn)來(lái),你怎么保證消息沒(méi)有重復(fù)消費(fèi)?怎么處理消息丟失情況?怎么保證消息傳遞的順序性?頭大頭大,問(wèn)題一大堆,痛苦不已。

  • 一致性問(wèn)題

A系統(tǒng)處理完了直接返回成功了,人都以為你這個(gè)請(qǐng)求就成功了;但是問(wèn)題是,要是BCD三個(gè)系統(tǒng)那里,BD兩個(gè)系統(tǒng)寫(xiě)庫(kù)成功了,結(jié)果C系統(tǒng)寫(xiě)庫(kù)失敗了,咋整?你這數(shù)據(jù)就不一致了。

所以消息隊(duì)列實(shí)際是一種非常復(fù)雜的架構(gòu),你引入它有很多好處,但是也得針對(duì)它帶來(lái)的壞處做各種額外的技術(shù)方案和架構(gòu)來(lái)規(guī)避掉,做好之后,你會(huì)發(fā)現(xiàn),媽呀,系統(tǒng)復(fù)雜度提升了一個(gè)數(shù)量級(jí),也許是復(fù)雜了10倍。但是關(guān)鍵時(shí)刻,用,還是得用的。

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"消息隊(duì)列MQ詳解",希望對(duì)大家有幫助,想了解更多可查看Java教程。動(dòng)力節(jié)點(diǎn)在線(xiàn)學(xué)習(xí)教程,針對(duì)沒(méi)有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門(mén)到精通,主要介紹了一些Java基礎(chǔ)的核心知識(shí),讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美激情第一区 | 天天翘夜夜洗澡天天做 | 久久精品无码一区二区日韩av | 一级黄片一级毛片 | 色www精品视频在线观看 | 久久成人免费 | 青青青免费手机版视频在线观看 | 色综合视频在线 | 欧美成人一区二区三区不卡 | 一级毛片视频在线观看 | 久久99精品久久久久久园产越南 | 免费一级毛片在线视频观看 | 中文字幕精品一区二区精品 | 日b黄色| 国产99视频精品草莓免视看 | 亚洲精品美女久久久久 | 久久精品国产精品亚洲人人 | 欧美级毛片 | 亚洲日本aⅴ片在线观看香蕉 | 国产成人亚洲欧美三区综合 | 日本一级特大毛片 | 成人在激情在线视频 | 亚洲成a人在线播放www | 欧美13一16sex 性 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天miya | 欧美曰韩免费视频一区 | 一级在线视频 | 成年女人免费看一级人体片 | 四虎免费影院4hu永久免费 | 国产香蕉91tv永久在线 | 999国产精品 | 国产亚洲精品成人一区看片 | 日韩一级片在线观看 | 丁香婷婷成人 | 美女性色 | 极品美女aⅴ高清在线观看 极品美女一级毛片 | 狠狠色丁香久久婷婷 | 天天操夜夜操 | 亚洲黄色成人 | 国产成人99久久亚洲综合精品 | 国产精品高清在线观看 |