黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 2023的Java消息隊列面試題,需要我們熟知

2023的Java消息隊列面試題,需要我們熟知

更新時間:2022-12-14 15:49:25 來源:動力節(jié)點 瀏覽1640次

現(xiàn)在想要進入到一些互聯(lián)網(wǎng)企業(yè)中,都需要掌握java消息隊列的技能,其原因就是由于目前的用戶量逐漸擴大,對于一些電商的企業(yè)來說遇到秒殺、搶票等高頻業(yè)務(wù)時,服務(wù)器幾乎是扛不住大量QPS,因此,就需要引入消息列隊來進行優(yōu)化,所以,熟知相關(guān)的面試題,對未來的面試有著決定性的幫助:

java消息隊列面試題

1.消息隊列的應(yīng)用場景有哪些?

答:消息隊列的應(yīng)用場景如下。

應(yīng)用解耦,比如,用戶下單后,訂單系統(tǒng)需要通知庫存系統(tǒng),假如庫存系統(tǒng)無法訪問,則訂單減庫存將失敗,從而導(dǎo)致訂單失敗。訂單系統(tǒng)與庫存系統(tǒng)耦合,這個時候如果使用消息隊列,可以返回給用戶成功,先把消息持久化,等庫存系統(tǒng)恢復(fù)后,就可以正常消費減去庫存了。

削峰填谷,比如,秒殺活動,一般會因為流量過大,從而導(dǎo)致流量暴增,應(yīng)用掛掉,這個時候加上消息隊列,服務(wù)器接收到用戶的請求后,首先寫入消息隊列,假如消息隊列長度超過最大數(shù)量,則直接拋棄用戶請求或跳轉(zhuǎn)到錯誤頁面。

日志系統(tǒng),比如,客戶端負責將日志采集,然后定時寫入消息隊列,消息隊列再統(tǒng)一將日志數(shù)據(jù)存儲和轉(zhuǎn)發(fā)。

2.RabbitMQ 有哪些優(yōu)點?

答:RabbitMQ 的優(yōu)點如下:

可靠性,RabbitMQ 的持久化支持,保證了消息的穩(wěn)定性;

高并發(fā),RabbitMQ 使用了 Erlang 開發(fā)語言,Erlang 是為電話交換機開發(fā)的語言,天生自帶高并發(fā)光環(huán)和高可用特性;

集群部署簡單,正是因為 Erlang 使得 RabbitMQ 集群部署變的非常簡單;

社區(qū)活躍度高,因為 RabbitMQ 應(yīng)用比較廣泛,所以社區(qū)的活躍度也很高;

解決問題成本低,因為資料比較多,所以解決問題的成本也很低;

支持多種語言,主流的編程語言都支持,如 Java、.NET、PHP、Python、JavaScript、Ruby、Go 等;

插件多方便使用,如網(wǎng)頁控制臺消息管理插件、消息延遲插件等。

3.RabbitMQ 有哪些重要的角色?

答:RabbitMQ 包含以下三個重要的角色:

生產(chǎn)者:消息的創(chuàng)建者,負責創(chuàng)建和推送數(shù)據(jù)到消息服務(wù)器;

消費者:消息的接收方,用于處理數(shù)據(jù)和確認消息;

代理:就是 RabbitMQ 本身,用于扮演“快遞”的角色,本身不生產(chǎn)消息,只是扮演“快遞”的角色。

4.RabbitMQ 有哪些重要的組件?它們有什么作用?

答:RabbitMQ 包含的重要組件有:ConnectionFactory(連接管理器)、Channel(信道)、Exchange(交換器)、Queue(隊列)、RoutingKey(路由鍵)、BindingKey(綁定鍵) 等重要的組件,它們的作用如下:

ConnectionFactory(連接管理器):應(yīng)用程序與 RabbitMQ 之間建立連接的管理器,程序代碼中使用;

Channel(信道):消息推送使用的通道;

Exchange(交換器):用于接受、分配消息;

Queue(隊列):用于存儲生產(chǎn)者的消息;

RoutingKey(路由鍵):用于把生成者的數(shù)據(jù)分配到交換器上;

BindingKey(綁定鍵):用于把交換器的消息綁定到隊列上。

運行流程,如下圖所示:

java消息隊列面試題

5.什么是消息持久化?

答:消息持久化是把消息保存到物理介質(zhì)上,以防止消息的丟失。

6.RabbitMQ 要實現(xiàn)消息持久化,需要滿足哪些條件?

答:RabbitMQ 要實現(xiàn)消息持久化,必須滿足以下 4 個條件:

投遞消息的時候 durable 設(shè)置為 true,消息持久化,代碼:channel.queueDeclare(x, true, false, false, null),參數(shù) 2 設(shè)置為 true 持久化;

設(shè)置投遞模式 deliveryMode 設(shè)置為 2(持久),代碼:channel.basicPublish(x, x, MessageProperties.PERSISTENT TEXT PLAIN,x),參數(shù) 3 設(shè)置為存儲純文本到磁盤;

消息已經(jīng)到達持久化交換器上;

消息已經(jīng)到達持久化的隊列。

以上就是“2023的Java消息隊列面試題,需要我們熟知”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動力節(jié)點Java官網(wǎng)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 婷婷97狠狠的狠狠的爱 | 午夜欧美激情 | 国内国语一级毛片在线视频 | 成人在线免费看 | 成人免费动漫在线看网站 | 欧美日韩成人在线视频 | 噜噜色综合 | 亚洲欧美日韩国产专区一区 | 国内精品视频一区二区三区 | 国产aa大片| 在线免费观看色片 | 欧美亚洲国产精品久久 | 激情久久久久久久久久 | 18成网站www在线观看 | 羞羞视频免费观看 | 欧美 亚洲 激情 | 影音先锋国产系列精品 | 日韩在线视频免费播放 | 亚洲第一伊人 | 中文字幕一区二区三区免费看 | 日韩大片观看网址 | 毛片网站在线看 | 国产96在线 | 手机看日韩片 | 国产欧美日本亚洲精品一4区 | 色站视频 | 成人黄色在线网站 | 午夜影院a级片 | 成年免费大片黄在线观看视频 | 美女一级毛片毛片在线播放 | 一级爱爱片 | 国产精品亚洲精品日韩已满 | 婷婷人人爽人人做人人添 | 国产日韩亚洲不卡高清在线观看 | 午夜精品久久久久久久第一页 | 看一级毛片国产一级毛片 | 成年男女免费视频网站 | 亚洲三级免费 | 日韩中文字幕免费在线观看 | 国产精品一卡二卡三卡 | 99久久99视频 |