中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

面試時(shí),碰到消息隊(duì)列RabbitMQ問題應(yīng)該怎么說?

現(xiàn)在的面試要求越來越高了,打開看了看幾個(gè) BOSS 招聘 Node.js 全棧開發(fā)的,其中都有一條“了解 消息隊(duì)列,并在項(xiàng)目中應(yīng)用過”,其實(shí)沒有多么高大上,看了消息隊(duì)列RabbitMQ 就知道了。
MQ全稱為Message Queue, 消息隊(duì)列(MQ)是一種應(yīng)用程序?qū)?yīng)用程序的通信方法。應(yīng)用程序通過讀寫出入隊(duì)列的消息(針對(duì)應(yīng)用程序的數(shù)據(jù))來通信,而無需專用連接來鏈接它們。
消息傳遞指的是程序之間通過在消息中發(fā)送數(shù)據(jù)進(jìn)行通信,而不是通過直接調(diào)用彼此來通信,直接調(diào)用通常是用于諸如遠(yuǎn)程過程調(diào)用的技術(shù)。排隊(duì)指的是應(yīng)用程序通過 隊(duì)列來通信。隊(duì)列的使用除去了接收和發(fā)送應(yīng)用程序同時(shí)執(zhí)行的要求。
RabbitMQ是使用Erlang語言開發(fā)的開源消息隊(duì)列系統(tǒng),基于AMQP協(xié)議來實(shí)現(xiàn)。AMQP的主要特征是面向消息、隊(duì)列、路由(包括點(diǎn)對(duì)點(diǎn)和發(fā)布/訂閱)、可靠性、安全。
AMQP協(xié)議更多用在企業(yè)系統(tǒng)內(nèi),對(duì)數(shù)據(jù)一致性、穩(wěn)定性和可靠性要求很高的場景,對(duì)性能和吞吐量的要求還在其次。
一、為什么要使用 rabbitmq
在分布式系統(tǒng)下具備異步,削峰,負(fù)載均衡等一系列高級(jí)功能;
擁有持久化的機(jī)制,進(jìn)程消息,隊(duì)列中的信息也可以保存下來。
實(shí)現(xiàn)消費(fèi)者和生產(chǎn)者之間的解耦。
對(duì)于高并發(fā)場景下,利用消息隊(duì)列可以使得同步訪問變?yōu)榇性L問達(dá)到一定量的限流,利于數(shù)據(jù)庫的操作。
可以使用消息隊(duì)列達(dá)到異步下單的效果,排隊(duì)中,后臺(tái)進(jìn)行邏輯下單。
二、消息隊(duì)列優(yōu)勢
1、應(yīng)用解耦消息隊(duì)列可以使消費(fèi)者和生產(chǎn)者直接互不干涉,互不影響,只需要把消息發(fā)送到隊(duì)列即可,而且可獨(dú)立的擴(kuò)展或修改兩邊的處理過程,只要能確保它們遵守同樣的接口約定,可以生產(chǎn)者用Node.js實(shí)現(xiàn),消費(fèi)者用python實(shí)現(xiàn)。
2、靈活性和峰值處理能力當(dāng)客戶端訪問量突然劇增,對(duì)服務(wù)器的訪問已經(jīng)超過服務(wù)所能處理的大峰值,甚至導(dǎo)致服務(wù)器超時(shí)負(fù)載崩潰,使用消息隊(duì)列可以解決這個(gè)問題,可以通過控制消費(fèi)者的處理速度和生產(chǎn)者可進(jìn)入消息隊(duì)列的數(shù)量等來避免峰值問題。
3、排序保證消息隊(duì)列可以控制數(shù)據(jù)處理的順序,因?yàn)橄㈥?duì)列本身使用的是隊(duì)列這個(gè)數(shù)據(jù)結(jié)構(gòu),F(xiàn)IFO(先進(jìn)選出),在一些場景數(shù)據(jù)處理的順序很重要,比如商品下單順序等。
4、異步通信消息隊(duì)列中的有些消息,并不需要立即處理,消息隊(duì)列提供了異步處理機(jī)制,可以把消息放在隊(duì)列中并不立即處理,需要的時(shí)候處理,或者異步慢慢處理,一些不重要的發(fā)送短信和郵箱功能可以使用。
5、可擴(kuò)展性前面提到了消息隊(duì)列可以做到解耦,如果我們想增強(qiáng)消息入隊(duì)和出隊(duì)的處理頻率,很簡單,并不需要改變代碼中任何內(nèi)容,可以直接對(duì)消息隊(duì)列修改一些配置即可,比如我們想限制每次發(fā)送給消費(fèi)者的消息條數(shù)等。有優(yōu)勢定有它現(xiàn)實(shí)的應(yīng)用場景,文章后面會(huì)針對(duì)優(yōu)勢講它們對(duì)應(yīng)的應(yīng)用場景。
親,別只看,你試試呀!直接進(jìn)入創(chuàng)新互聯(lián),裝個(gè) RabbitMQ,挺有意思的。

標(biāo)題名稱:面試時(shí),碰到消息隊(duì)列RabbitMQ問題應(yīng)該怎么說?
鏈接地址:http://www.rwnh.cn/article16/sdsodg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站改版、品牌網(wǎng)站建設(shè)建站公司、網(wǎng)站策劃、Google

廣告

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

網(wǎng)站托管運(yùn)營
林芝县| 蓝田县| 景谷| 渝北区| 宜良县| 乌审旗| 五指山市| 卢龙县| 抚松县| 靖江市| 中牟县| 腾冲县| 台湾省| 犍为县| 百色市| 罗平县| 丰台区| 忻州市| 安乡县| 北安市| 舒兰市| 沅陵县| 巫溪县| 青龙| 军事| 黄梅县| 漳平市| 桦南县| 大埔县| 阳曲县| 开原市| 延长县| 东乡| 三门峡市| 越西县| 长宁区| 平果县| 石城县| 开鲁县| 禹城市| 慈溪市|