欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

聊聊mq的使用場景-創(chuàng)新互聯(lián)

mq的作用

  1. 通過異步方式對系統(tǒng)解耦
  2. 增加系統(tǒng)的并發(fā)處理能力

通過異步方式對系統(tǒng)解耦

以用戶注冊為例,一般情況下:
聊聊mq的使用場景

成都網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù)團(tuán)隊是一支充滿著熱情的團(tuán)隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時竭誠為客戶提供服務(wù)是我們的理念。成都創(chuàng)新互聯(lián)把每個網(wǎng)站當(dāng)做一個產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!

分下一下,上面過程存在的一些問題:

  1. 注冊過程會調(diào)用4個服務(wù)(注冊服務(wù)、郵件服務(wù)、短信服務(wù)、積分服務(wù)),服務(wù)之間依賴性太強(qiáng),任何一個服務(wù)不可用,直接影響整個注冊業(yè)務(wù)
  2. 接口耗時太長,每個服務(wù)耗時100ms,注冊流程耗時400ms
  3. 對用戶來說,用戶信息入庫是主要的業(yè)務(wù)流程,其他并不是響應(yīng)用戶過程中直接關(guān)注的邏輯,可以異步進(jìn)行處理

采用mq的方式實現(xiàn):
聊聊mq的使用場景

過程:

  • 調(diào)用注冊服務(wù),注冊信息入庫,耗時100ms
  • 投遞注冊消息到mq
  • 返回注冊成功
  • 對于用戶來說耗時200ms
  • 其他3個操作(發(fā)郵件、發(fā)短信、增加積分)從消息隊列中拉取消息進(jìn)行處理,對于主流程來說是異步操作

將依賴于3個服務(wù)轉(zhuǎn)換為只依賴于mq服務(wù),只需要保證注冊服務(wù)、mq服務(wù)高可用,即可以保證注冊服務(wù)的高可用,相比保證其他3個服務(wù)高可用上容易了許多。

增加系統(tǒng)的并發(fā)處理能力

以電商中的秒殺場景為例,采用同步處理:

  • 用戶點擊秒殺
  • 調(diào)用訂單服務(wù),驗證庫存、鎖定庫存
  • 跳轉(zhuǎn)到支付頁面進(jìn)行支付

分析一下,存在的問題:

  • 驗證庫存、鎖定庫存會訪問數(shù)據(jù)庫
  • 秒殺場景,商品數(shù)量有限,請求量非常大,每個請求來了都做以上處理,直接會把數(shù)據(jù)庫壓垮,導(dǎo)致數(shù)據(jù)庫無法對外提供服務(wù),數(shù)據(jù)庫的不可用直接導(dǎo)致整個業(yè)務(wù)的不可用,秒殺活動打水漂。

  • 大量請求會同時到達(dá),同時去訪問數(shù)據(jù)庫,數(shù)據(jù)庫連接有限,導(dǎo)致很多請求會處于等待狀態(tài),導(dǎo)致并發(fā)性能急劇下降
  • 大量用戶同時操作庫存,存在爭搶數(shù)據(jù)庫鎖的情況,容易導(dǎo)致死鎖
  • 秒殺中數(shù)量一般是有限,大量用戶搶購,其實最終只有很少的用戶能夠搶購到

大家都有在銀行辦理業(yè)務(wù)的經(jīng)驗,銀行處理業(yè)務(wù)的流程:領(lǐng)號、排隊、等待叫號辦理業(yè)務(wù)

秒殺中我們也可以參考銀行辦理業(yè)務(wù)的流程:

  • 用戶點擊描述
  • 系統(tǒng)接受到用戶請求后,生成一個唯一的編號,然后投遞一條消息(秒殺下單)到mq
  • 響應(yīng)用戶:秒殺正在處理中
  • 秒殺系統(tǒng)從mq中拉取消息進(jìn)行處理,處理完成之后告知用戶,這步操作對于用戶來說是異步處理的過程

從上面可以看出,從接受用戶請求到響應(yīng)用戶請求,未訪問數(shù)據(jù)庫,只有生成編號和發(fā)送消息的操作,這部分處理速度是非常快的,不存在性能的問題,數(shù)據(jù)庫也不存在壓力的問題了,所有用戶的請求都被作為一條消息投遞到mq進(jìn)行異步處理;從而解決了秒殺中同步處理遇到的各種問題。

其他一些使用場景

  1. 系統(tǒng)日志的處理
    系統(tǒng)手機(jī)日志,異步發(fā)送到mq,日志服務(wù)隊從mq中拉取消息進(jìn)行各種處理,關(guān)于這個以后我們會專門討論。
  2. 通過事件驅(qū)動的一些業(yè)務(wù),也可以使用mq實現(xiàn)

總結(jié)

  1. mq是采用異步的方式來解決系統(tǒng)耦合性的問題,并發(fā)處理的問題;重點是在于異步,那么什么情況下使用異步呢?當(dāng)調(diào)用方不強(qiáng)依賴于被調(diào)用方的結(jié)果的時候,可以采用異步的方式進(jìn)行處理,此時可以使用mq。
  2. 當(dāng)調(diào)用方強(qiáng)依賴于被調(diào)用方的結(jié)果的時候,需要使用同步的方式,不能使用mq

mq系列整個內(nèi)容,我們將討論

  1. mq的使用場景
  2. 業(yè)務(wù)系統(tǒng)中投遞消息的幾種方式?
  3. 如何確保投遞消息一定成功?
  4. 消息消費(fèi)的幾種方式
  5. 如何確保消息至少消費(fèi)一次
  6. 如何保證消息消費(fèi)的冪等性

路人甲Java,只生產(chǎn)干貨,公眾號:javacode2018,喜歡的關(guān)注一下。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁題目:聊聊mq的使用場景-創(chuàng)新互聯(lián)
文章鏈接:http://www.chinadenli.net/article30/djcepo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈網(wǎng)站導(dǎo)航定制開發(fā)外貿(mào)建站Google動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)