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

RabbitMQ常用面試題有哪些-創(chuàng)新互聯(lián)

小編給大家分享一下RabbitMQ常用面試題有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),江岸網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:江岸等地區(qū)。江岸做網(wǎng)站價(jià)格咨詢:18980820575

這篇文章將為大家詳細(xì)講解有關(guān)RabbitMQ常用面試題有哪些,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

1、什么是RabbitMQ?為什么使用RabbitMQ?

答:RabbitMQ是一款開源的,Erlang編寫的,基于AMQP協(xié)議的,消息中間件;

可以用它來:解耦、異步、削峰。

2、RabbitMQ有什么優(yōu)缺點(diǎn)?

答:優(yōu)點(diǎn):解耦、異步、削峰;

缺點(diǎn):降低了系統(tǒng)的穩(wěn)定性:本來系統(tǒng)運(yùn)行好好的,現(xiàn)在你非要加入個(gè)消息隊(duì)列進(jìn)去,那消息隊(duì)列掛了,你的系統(tǒng)不是呵呵了。因此,系統(tǒng)可用性會(huì)降低;

增加了系統(tǒng)的復(fù)雜性:加入了消息隊(duì)列,要多考慮很多方面的問題,比如:一致性問題、如何保證消息不被重復(fù)消費(fèi)、如何保證消息可靠性傳輸?shù)取R虼?,需要考慮的東西更多,復(fù)雜性增大。

3、如何保證RabbitMQ的高可用?

答:沒有哪個(gè)項(xiàng)目會(huì)只用一搭建一臺(tái)RabbitMQ服務(wù)器提供服務(wù),風(fēng)險(xiǎn)太大;

4、如何保證RabbitMQ不被重復(fù)消費(fèi)?

答:先說為什么會(huì)重復(fù)消費(fèi):正常情況下,消費(fèi)者在消費(fèi)消息的時(shí)候,消費(fèi)完畢后,會(huì)發(fā)送一個(gè)確認(rèn)消息給消息隊(duì)列,消息隊(duì)列就知道該消息被消費(fèi)了,就會(huì)將該消息從消息隊(duì)列中刪除;

但是因?yàn)榫W(wǎng)絡(luò)傳輸?shù)鹊裙收希_認(rèn)信息沒有傳送到消息隊(duì)列,導(dǎo)致消息隊(duì)列不知道自己已經(jīng)消費(fèi)過該消息了,再次將消息分發(fā)給其他的消費(fèi)者。

針對(duì)以上問題,一個(gè)解決思路是:保證消息的性,就算是多次傳輸,不要讓消息的多次消費(fèi)帶來影響;保證消息等冪性;

比如:在寫入消息隊(duì)列的數(shù)據(jù)做標(biāo)示,消費(fèi)消息時(shí),根據(jù)標(biāo)識(shí)判斷是否消費(fèi)過;

5、如何保證RabbitMQ消息的可靠傳輸?

答:消息不可靠的情況可能是消息丟失,劫持等原因;

丟失又分為:生產(chǎn)者丟失消息、消息列表丟失消息、消費(fèi)者丟失消息;

生產(chǎn)者丟失消息:從生產(chǎn)者弄丟數(shù)據(jù)這個(gè)角度來看,RabbitMQ提供transaction和confirm模式來確保生產(chǎn)者不丟消息;

transaction機(jī)制就是說:發(fā)送消息前,開啟事務(wù)(channel.txSelect()),然后發(fā)送消息,如果發(fā)送過程中出現(xiàn)什么異常,事務(wù)就會(huì)回滾(channel.txRollback()),如果發(fā)送成功則提交事務(wù)(channel.txCommit())。然而,這種方式有個(gè)缺點(diǎn):吞吐量下降;

confirm模式用的居多:一旦channel進(jìn)入confirm模式,所有在該信道上發(fā)布的消息都將會(huì)被指派一個(gè)的ID(從1開始),一旦消息被投遞到所有匹配的隊(duì)列之后;

rabbitMQ就會(huì)發(fā)送一個(gè)ACK給生產(chǎn)者(包含消息的ID),這就使得生產(chǎn)者知道消息已經(jīng)正確到達(dá)目的隊(duì)列了;

如果rabbitMQ沒能處理該消息,則會(huì)發(fā)送一個(gè)Nack消息給你,你可以進(jìn)行重試操作。

消息隊(duì)列丟數(shù)據(jù):消息持久化。

處理消息隊(duì)列丟數(shù)據(jù)的情況,一般是開啟持久化磁盤的配置。

這個(gè)持久化配置可以和confirm機(jī)制配合使用,你可以在消息持久化磁盤后,再給生產(chǎn)者發(fā)送一個(gè)Ack信號(hào)。

這樣,如果消息持久化磁盤之前,rabbitMQ陣亡了,那么生產(chǎn)者收不到Ack信號(hào),生產(chǎn)者會(huì)自動(dòng)重發(fā)。

那么如何持久化呢?

這里順便說一下吧,其實(shí)也很容易,就下面兩步

  1. 將queue的持久化標(biāo)識(shí)durable設(shè)置為true,則代表是一個(gè)持久的隊(duì)列
  2. 發(fā)送消息的時(shí)候?qū)eliveryMode=2

這樣設(shè)置以后,即使rabbitMQ掛了,重啟后也能恢復(fù)數(shù)據(jù)

消費(fèi)者丟失消息:消費(fèi)者丟數(shù)據(jù)一般是因?yàn)椴捎昧俗詣?dòng)確認(rèn)消息模式,改為手動(dòng)確認(rèn)消息即可!

消費(fèi)者在收到消息之后,處理消息之前,會(huì)自動(dòng)回復(fù)RabbitMQ已收到消息;

如果這時(shí)處理消息失敗,就會(huì)丟失該消息;

解決方案:處理消息成功后,手動(dòng)回復(fù)確認(rèn)消息。

6、如何保證RabbitMQ消息的順序性?

答:單線程消費(fèi)保證消息的順序性;對(duì)消息進(jìn)行編號(hào),消費(fèi)者處理消息是根據(jù)編號(hào)處理消息;

以上是RabbitMQ常用面試題有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:RabbitMQ常用面試題有哪些-創(chuàng)新互聯(lián)
本文鏈接:http://chinadenli.net/article42/jjcec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT定制開發(fā)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站改版靜態(tài)網(wǎng)站

廣告

聲明:本網(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)

搜索引擎優(yōu)化
免费国产成人性生活生活片| 免费特黄欧美亚洲黄片| 亚洲综合香蕉在线视频| 一区二区三区欧美高清| 久久99亚洲小姐精品综合| 黄色国产一区二区三区| 91欧美亚洲精品在线观看| 欧美日韩精品久久第一页| 欧洲精品一区二区三区四区| 国产目拍亚洲精品区一区| 熟女免费视频一区二区| 91日韩欧美在线视频| 丁香六月婷婷基地伊人| 国产一二三区不卡视频| 黄色激情视频中文字幕| 亚洲国产精品久久综合网| 激情丁香激情五月婷婷| 熟女免费视频一区二区| 扒开腿狂躁女人爽出白浆av| 九九热精品视频免费在线播放| 国产成人一区二区三区久久 | 中文字幕久热精品视频在线| 国产成人一区二区三区久久| 亚洲最新一区二区三区| 久久国产亚洲精品赲碰热| 久久精品视频就在久久| 国产又粗又猛又大爽又黄| 中文精品人妻一区二区| 大香蕉伊人一区二区三区| 一二区不卡不卡在线观看| 99精品国产自在现线观看| 高清欧美大片免费在线观看| 亚洲av专区在线观看| 美女黄片大全在线观看| 亚洲视频一区自拍偷拍另类| 青青操日老女人的穴穴| 国产老熟女超碰一区二区三区| 国产亚洲欧美日韩精品一区| av一区二区三区天堂| 少妇丰满a一区二区三区| 福利新区一区二区人口|