RabbitMQ面試題 一

2021-10-03 18:32:40 字數 1116 閱讀 1368

什麼是rabbitmq?

答:rabbitmq是實現了高階訊息佇列協議(amqp)的開源訊息**軟體(亦稱面向訊息的中介軟體),生產者把訊息傳送到訊息佇列,消費者去訊息佇列中取訊息消費,實現了服務之間的高度解耦。

使用rabbitmq有什麼好處?

答:非同步,解耦,削峰填谷

使用rabbitmq有什麼缺點?

答:降低了系統的穩定性,下游系統都去訊息佇列裡拿訊息消費,要是訊息佇列服務宕機,那就崩了,所以還得考慮高可用。提高了系統的複雜性,加了乙個新的中介軟體, 那麼就要考慮這個中介軟體會引發的相關問題,比如訊息丟失了怎麼辦,訊息重複消費了怎麼辦等各種問題,這些都是需要實踐和試錯的。

rabbitmq有哪些重要的角色?

答:生產者:訊息的生產者,同時推送訊息資料到訊息伺服器。

消費者:訊息的接收者,用來確認訊息和消費訊息資料。

**商:rabbitmq就是**商,它本身不生產訊息,只是負責訊息的儲存和傳送。

說說使用使用rabbitmq的場景?

答:用於服務間的非同步通訊,定時任務,請求削峰,順序消費。

如何保證rabbitmq的高可用?

答:生產是不會只用一台rabbitmq伺服器來提供服務的,至少要搞個rabbitmq集群來保證高可用。

rabbitmq集群方式有哪幾種?

答:普通集群模式,映象集群模式。

普通集群模式是什麼樣的?

答:普通集群模式,就是訊息資料其實還是在乙個rabbitmq節點上,而其他rabbitmq節點則知道這個訊息具體是放在哪個節點,所以當有請求過來時,集群節點之間會做內部的通訊,把請求**到真正擁有相應訊息資料的節點上,所以這種模式其實只是起到了乙個類似負載均衡的效果,當擁有訊息資料的節點宕機後,訊息就丟失了,也就無法成功被消費了,不是高可用的。

映象集群模式是什麼樣的?

答:映象集群模式,顧名思義,就是每個節點中的訊息資料在其他節點也都存在,做了個映象備份,這樣哪怕乙個節點宕機了,其他節點一樣能提供一樣的訊息資料,做到了高可用。

rabbitmq的訊息基於什麼傳輸?

答:由於tcp連線的建立和銷毀開銷較大,而且併發數受到系統資源的限制,會造成效能瓶頸。rabbitmq則使用通道的方式來傳輸資料。通道是建立在真實的tcp連線內的虛擬連線,且每條tcp連線上的通道數量沒有限制。

RabbitMQ的面試題

1 場景 秒殺活動一般會因為流量過大,導致應用掛掉,為了解決這個問題,一般會在應用後端加入訊息佇列。2 作用 可以控制活動人數,超過一定閾值的訂單直接丟棄 這就是為什麼沒有秒殺成功哦 業務系統設定閾值,超過閾值限流 可以緩解短時間的高流量壓垮應用 應用程式按照自己的最大能力獲取訂單 3 描述 1 場...

RabbitMQ面試題概述

rabbitmq是一款開源的,erlang編寫的,基於amqp協議的,訊息中介軟體 rabbitmq是一款開源的,erlang編寫的,基於amqp協議的,訊息中介軟體 可以用它來 解耦 非同步 削峰。解耦,系統a在 中直接呼叫系統b和系統c的 如果將來d系統接入,系統a還需要修改 過於麻煩!非同步,...

面試題 RabbitMQ部分

rabbitmq 的使用場景有哪些?簡單的傳送與接收,沒有特別的處理 單傳送多接收 發布 訂閱模式,傳送端傳送廣播訊息,多個接收端接收 按路線傳送接收 按topics傳送接收 rabbitmq 有哪些重要的角色?management policymaker monitorng administrat...