AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

面試官:消息隊(duì)列的應(yīng)用場(chǎng)景有哪些?

來源: 責(zé)編: 時(shí)間:2024-05-29 17:26:13 163觀看
導(dǎo)讀通常來說,使用消息隊(duì)列主要能為我們的系統(tǒng)帶來下面三點(diǎn)好處:異步處理削峰/限流降低系統(tǒng)耦合性除了這三點(diǎn)之外,消息隊(duì)列還有其他的一些應(yīng)用場(chǎng)景,例如實(shí)現(xiàn)分布式事務(wù)、順序保證和數(shù)據(jù)流處理。如果在面試的時(shí)候你被面試官問

通常來說,使用消息隊(duì)列主要能為我們的系統(tǒng)帶來下面三點(diǎn)好處:G8928資訊網(wǎng)——每日最新資訊28at.com

  1. 異步處理
  2. 削峰/限流
  3. 降低系統(tǒng)耦合性

除了這三點(diǎn)之外,消息隊(duì)列還有其他的一些應(yīng)用場(chǎng)景,例如實(shí)現(xiàn)分布式事務(wù)、順序保證和數(shù)據(jù)流處理。G8928資訊網(wǎng)——每日最新資訊28at.com

如果在面試的時(shí)候你被面試官問到這個(gè)問題的話,一般情況是你在你的簡(jiǎn)歷上涉及到消息隊(duì)列這方面的內(nèi)容,這個(gè)時(shí)候推薦你結(jié)合你自己的項(xiàng)目來回答。G8928資訊網(wǎng)——每日最新資訊28at.com

異步處理

通過異步處理提高系統(tǒng)性能通過異步處理提高系統(tǒng)性能G8928資訊網(wǎng)——每日最新資訊28at.com

將用戶請(qǐng)求中包含的耗時(shí)操作,通過消息隊(duì)列實(shí)現(xiàn)異步處理,將對(duì)應(yīng)的消息發(fā)送到消息隊(duì)列之后就立即返回結(jié)果,減少響應(yīng)時(shí)間,提高用戶體驗(yàn)。隨后,系統(tǒng)再對(duì)消息進(jìn)行消費(fèi)。G8928資訊網(wǎng)——每日最新資訊28at.com

因?yàn)橛脩粽?qǐng)求數(shù)據(jù)寫入消息隊(duì)列之后就立即返回給用戶了,但是請(qǐng)求數(shù)據(jù)在后續(xù)的業(yè)務(wù)校驗(yàn)、寫數(shù)據(jù)庫(kù)等操作中可能失敗。因此,使用消息隊(duì)列進(jìn)行異步處理之后,需要適當(dāng)修改業(yè)務(wù)流程進(jìn)行配合,比如用戶在提交訂單之后,訂單數(shù)據(jù)寫入消息隊(duì)列,不能立即返回用戶訂單提交成功,需要在消息隊(duì)列的訂單消費(fèi)者進(jìn)程真正處理完該訂單之后,甚至出庫(kù)后,再通過電子郵件或短信通知用戶訂單成功,以免交易糾紛。這就類似我們平時(shí)手機(jī)訂火車票和電影票。G8928資訊網(wǎng)——每日最新資訊28at.com

削峰/限流

先將短時(shí)間高并發(fā)產(chǎn)生的事務(wù)消息存儲(chǔ)在消息隊(duì)列中,然后后端服務(wù)再慢慢根據(jù)自己的能力去消費(fèi)這些消息,這樣就避免直接把后端服務(wù)打垮掉。G8928資訊網(wǎng)——每日最新資訊28at.com

舉例:在電子商務(wù)一些秒殺、促銷活動(dòng)中,合理使用消息隊(duì)列可以有效抵御促銷活動(dòng)剛開始大量訂單涌入對(duì)系統(tǒng)的沖擊。如下圖所示:G8928資訊網(wǎng)——每日最新資訊28at.com

削峰削峰G8928資訊網(wǎng)——每日最新資訊28at.com

降低系統(tǒng)耦合性

使用消息隊(duì)列還可以降低系統(tǒng)耦合性。我們知道如果模塊之間不存在直接調(diào)用,那么新增模塊或者修改模塊就對(duì)其他模塊影響較小,這樣系統(tǒng)的可擴(kuò)展性無疑更好一些。G8928資訊網(wǎng)——每日最新資訊28at.com

生產(chǎn)者(客戶端)發(fā)送消息到消息隊(duì)列中去,消費(fèi)者(服務(wù)端)處理消息,需要消費(fèi)的系統(tǒng)直接去消息隊(duì)列取消息進(jìn)行消費(fèi)即可而不需要和其他系統(tǒng)有耦合,這顯然也提高了系統(tǒng)的擴(kuò)展性。G8928資訊網(wǎng)——每日最新資訊28at.com

發(fā)布/訂閱(Pub/Sub)模型發(fā)布/訂閱(Pub/Sub)模型G8928資訊網(wǎng)——每日最新資訊28at.com

消息隊(duì)列使用發(fā)布-訂閱模式工作,消息發(fā)送者(生產(chǎn)者)發(fā)布消息,一個(gè)或多個(gè)消息接受者(消費(fèi)者)訂閱消息。 從上圖可以看到消息發(fā)送者(生產(chǎn)者)和消息接受者(消費(fèi)者)之間沒有直接耦合,消息發(fā)送者將消息發(fā)送至分布式消息隊(duì)列即結(jié)束對(duì)消息的處理,消息接受者從分布式消息隊(duì)列獲取該消息后進(jìn)行后續(xù)處理,并不需要知道該消息從何而來。對(duì)新增業(yè)務(wù),只要對(duì)該類消息感興趣,即可訂閱該消息,對(duì)原有系統(tǒng)和業(yè)務(wù)沒有任何影響,從而實(shí)現(xiàn)網(wǎng)站業(yè)務(wù)的可擴(kuò)展性設(shè)計(jì)。G8928資訊網(wǎng)——每日最新資訊28at.com

例如,我們商城系統(tǒng)分為用戶、訂單、財(cái)務(wù)、倉(cāng)儲(chǔ)、消息通知、物流、風(fēng)控等多個(gè)服務(wù)。用戶在完成下單后,需要調(diào)用財(cái)務(wù)(扣款)、倉(cāng)儲(chǔ)(庫(kù)存管理)、物流(發(fā)貨)、消息通知(通知用戶發(fā)貨)、風(fēng)控(風(fēng)險(xiǎn)評(píng)估)等服務(wù)。使用消息隊(duì)列后,下單操作和后續(xù)的扣款、發(fā)貨、通知等操作就解耦了,下單完成發(fā)送一個(gè)消息到消息隊(duì)列,需要用到的地方去訂閱這個(gè)消息進(jìn)行消息即可。G8928資訊網(wǎng)——每日最新資訊28at.com

圖片圖片G8928資訊網(wǎng)——每日最新資訊28at.com

另外,為了避免消息隊(duì)列服務(wù)器宕機(jī)造成消息丟失,會(huì)將成功發(fā)送到消息隊(duì)列的消息存儲(chǔ)在消息生產(chǎn)者服務(wù)器上,等消息真正被消費(fèi)者服務(wù)器處理后才刪除消息。在消息隊(duì)列服務(wù)器宕機(jī)后,生產(chǎn)者服務(wù)器會(huì)選擇分布式消息隊(duì)列服務(wù)器集群中的其他服務(wù)器發(fā)布消息。G8928資訊網(wǎng)——每日最新資訊28at.com

備注: 不要認(rèn)為消息隊(duì)列只能利用發(fā)布-訂閱模式工作,只不過在解耦這個(gè)特定業(yè)務(wù)環(huán)境下是使用發(fā)布-訂閱模式的。除了發(fā)布-訂閱模式,還有點(diǎn)對(duì)點(diǎn)訂閱模式(一個(gè)消息只有一個(gè)消費(fèi)者),我們比較常用的是發(fā)布-訂閱模式。另外,這兩種消息模型是 JMS 提供的,AMQP 協(xié)議還提供了另外 5 種消息模型。G8928資訊網(wǎng)——每日最新資訊28at.com

實(shí)現(xiàn)分布式事務(wù)

分布式事務(wù)的解決方案之一就是 MQ 事務(wù)。G8928資訊網(wǎng)——每日最新資訊28at.com

RocketMQ、 Kafka、Pulsar、QMQ 都提供了事務(wù)相關(guān)的功能。事務(wù)允許事件流應(yīng)用將消費(fèi),處理,生產(chǎn)消息整個(gè)過程定義為一個(gè)原子操作。G8928資訊網(wǎng)——每日最新資訊28at.com

RocketMQ 事務(wù)消息原理如下圖所示:G8928資訊網(wǎng)——每日最新資訊28at.com

圖片圖片G8928資訊網(wǎng)——每日最新資訊28at.com

順序保證

在很多應(yīng)用場(chǎng)景中,處理數(shù)據(jù)的順序至關(guān)重要。消息隊(duì)列保證數(shù)據(jù)按照特定的順序被處理,適用于那些對(duì)數(shù)據(jù)順序有嚴(yán)格要求的場(chǎng)景。大部分消息隊(duì)列,例如 RocketMQ、RabbitMQ、Pulsar、Kafka,都支持順序消息。G8928資訊網(wǎng)——每日最新資訊28at.com

延時(shí)/定時(shí)處理

消息發(fā)送后不會(huì)立即被消費(fèi),而是指定一個(gè)時(shí)間,到時(shí)間后再消費(fèi)。大部分消息隊(duì)列,例如 RocketMQ、RabbitMQ、Pulsar、Kafka,都支持定時(shí)/延時(shí)消息。G8928資訊網(wǎng)——每日最新資訊28at.com

圖片圖片G8928資訊網(wǎng)——每日最新資訊28at.com


G8928資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)流處理

針對(duì)分布式系統(tǒng)產(chǎn)生的海量數(shù)據(jù)流,如業(yè)務(wù)日志、監(jiān)控?cái)?shù)據(jù)、用戶行為等,消息隊(duì)列可以實(shí)時(shí)或批量收集這些數(shù)據(jù),并將其導(dǎo)入到大數(shù)據(jù)處理引擎中,實(shí)現(xiàn)高效的數(shù)據(jù)流管理和處理。G8928資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-91512-0.html面試官:消息隊(duì)列的應(yīng)用場(chǎng)景有哪些?

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 618 限時(shí)優(yōu)惠升級(jí) 國(guó)貨精品攀升電腦爆款超值購(gòu)入

下一篇: C# 中的 this 關(guān)鍵字及其三種用法

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優(yōu)化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫(kù),還使用這些庫(kù)實(shí)現(xiàn)了一個(gè)流處理程序
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對(duì)Reader和Writer接口的組合,
  • 三言兩語(yǔ)說透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是兩種很有用的技術(shù),可以幫助我們寫出更加優(yōu)雅、泛用的函數(shù)。本文將首先介紹柯里化和反柯里化的概念、實(shí)現(xiàn)原理和應(yīng)用
  • WebRTC.Net庫(kù)開發(fā)進(jìn)階,教你實(shí)現(xiàn)屏幕共享和多路復(fù)用!

    WebRTC.Net庫(kù):讓你的應(yīng)用更親民友好,實(shí)現(xiàn)視頻通話無痛接入! 除了基本用法外,還有一些進(jìn)階用法可以更好地利用該庫(kù)。自定義 STUN/TURN 服務(wù)器配置WebRTC.Net 默認(rèn)使用 Google 的
  • JVM優(yōu)化:實(shí)戰(zhàn)OutOfMemoryError異常

    一、Java堆溢出堆內(nèi)存中主要存放對(duì)象、數(shù)組等,只要不斷地創(chuàng)建這些對(duì)象,并且保證 GC Roots 到對(duì)象之間有可達(dá)路徑來避免垃 圾收集回收機(jī)制清除這些對(duì)象,當(dāng)這些對(duì)象所占空間超過
  • 阿里大調(diào)整

    來源:產(chǎn)品劉有媒體報(bào)道稱,近期淘寶天貓集團(tuán)啟動(dòng)了近年來最大的人力制度改革,涉及員工績(jī)效、層級(jí)體系等多個(gè)核心事項(xiàng),目前已形成一個(gè)初步的“征求意見版”:1、取消P序列
  • 微博大門常打開,迎接海外畫師漂洋東渡

    作者:互聯(lián)網(wǎng)那些事“起猛了,我能看得懂日語(yǔ)了”。“為什么日本人說話我能聽懂?”“中文不像中文,日語(yǔ)不像日語(yǔ),但是我竟然看懂了”…&hell
  • 三星獲批量產(chǎn)iPhone 15全系屏幕:蘋果史上最驚艷直屏

    按照慣例,蘋果將繼續(xù)在今年9月舉辦一年一度的秋季新品發(fā)布會(huì),有傳言稱發(fā)布會(huì)將于9月12日舉行,屆時(shí)全新的iPhone 15系列將正式與大家見面,不出意外的話
  • 電博會(huì)與軟博會(huì)實(shí)現(xiàn)"線下+云端"的雙線融合

    在本次“電博會(huì)”與“軟博會(huì)”雙展會(huì)利好條件的加持下,既可以發(fā)揮展會(huì)拉動(dòng)人流、信息流、資金流實(shí)現(xiàn)快速交互流動(dòng)的作用,繼而推動(dòng)區(qū)域經(jīng)濟(jì)良性發(fā)展;又可以聚
Top