RabbitMQ面試題 (總結(jié)最全面的面試題)
入門(mén)RabbitMQ消息隊(duì)列,看這篇文章就夠了
一、消息隊(duì)列
什么是消息隊(duì)列 (消息中間件)?
消息隊(duì)列
是一種基于 隊(duì)列,用于解決 不同進(jìn)程或應(yīng)用 之間 通訊 的 消息中間件。- 支持多種 消息傳遞模式,如
隊(duì)列模型
、發(fā)布/訂閱模型
等。![]()
消息隊(duì)列 有哪些功能 | 為什么使用 消息隊(duì)列?
業(yè)務(wù)解耦
:通過(guò) 發(fā)布/訂閱 模式,減少系統(tǒng)的 耦合度。異步處理
:將 耗時(shí)任務(wù) 放到 消息隊(duì)列 中 異步處理,提高 系統(tǒng)吞吐量。流量削峰
:通過(guò) 消息隊(duì)列 緩解短時(shí)間內(nèi)的 高并發(fā)請(qǐng)求。
消息隊(duì)列 有什么缺點(diǎn)?
系統(tǒng)可用性降低
:消息隊(duì)列 掛了,服務(wù)器 也會(huì)出問(wèn)題。系統(tǒng)復(fù)雜度提高
:加入了 消息隊(duì)列,要考慮 重復(fù)消費(fèi)、+一致性 等問(wèn)題。
消息隊(duì)列有哪些消息模型?
隊(duì)列模型
:?個(gè)隊(duì)列可以存儲(chǔ)多個(gè) 生產(chǎn)者 的消息,也可以有多個(gè) 消費(fèi)者。每條消息只能被 消費(fèi)一次。發(fā)布/訂閱模型
:消息的發(fā)送方稱(chēng)為 發(fā)布者,消息的接收方稱(chēng)為 訂閱者,存放消息的容器稱(chēng)為 主題。每條消息可以被 多次消費(fèi)。
消息隊(duì)列如何保證消息準(zhǔn)確?
確認(rèn)機(jī)制
:確保消息在被消費(fèi)之前不會(huì)從隊(duì)列中刪除。消息重傳
:實(shí)現(xiàn)消息重試策略,以處理因?yàn)榕R時(shí)問(wèn)題導(dǎo)致的消息處理失敗。
二、RabbitMQ
什么是 RabbitMQ?
RabbitMQ
是用 Erlang語(yǔ)言 開(kāi)發(fā)的一個(gè) 消息隊(duì)列服務(wù)器,其最大的特點(diǎn)是:輕量,容易部署,擁有靈活的 路由配置。
RabbitMQ 中主要包含哪幾個(gè)部分 (核心概念)?
生產(chǎn)者 (Producer)
交換器 (Exchange)
: 接收 生產(chǎn)者 的消息,并根據(jù) 路由 轉(zhuǎn)發(fā) 消息 到 隊(duì)列。消息隊(duì)列 (Queue)
: 生產(chǎn)者 的消息最終發(fā)送到 指定隊(duì)列,而 消費(fèi)者 也是通過(guò) 隊(duì)列 來(lái) 獲取消息 的。消費(fèi)者 (Consumer)
RabbitMQ 常用的工作模式有哪幾種?
隊(duì)列模式
:一個(gè)生產(chǎn)者 和 多個(gè)消費(fèi)者,但一條消息只能被一個(gè)消費(fèi)者獲取。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-606560.html
發(fā)布/訂閱(pub/sub)模式
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-606560.html
到了這里,關(guān)于3.精通RabbitMQ—消息隊(duì)列、RabbitMQ的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!