面試連環炮系列(二十?四):為什么選擇RocketMQ
-
為什么選擇RocketMQ,而不是其他MQ
- 性能:阿里支撐,經受住淘寶,天貓雙11重重考驗;性能高;可靠性好;可用性高;易擴展。
- 功能:功能完善,我們需要的功能基本都夠滿足,如:事務消息,消息重試,死信隊列,定時消息等。
- 易用:跨平臺:跨語言,多協議接入(支持HTTP, MQTT, TCP協議,支持Restful風格HTTP收發消息)。
-
RocketMQ 由哪些角色組成
- 生產者(Producer):負責產生消息,生產者向消息服務器發送由業務應用程序系統生成的消息。
- 消費者(Consumer):負責消費消息,消費者從消息服務器拉取信息并將其輸入用戶應用程序。
- 消息服務器(Broker):是消息存儲中心,主要作用是接收來自 Producer的消息并存儲, Consumer 從這里取得消息。
- 名稱服務器(NameServer):用來保存 Broker 相關 Topic 等元信息并給 Producer ,提供 Consumer 查找Broker信息。
-
說說你對消費者的了解
- 獲得 Topic-Broker 的映射關系。consumer 啟動時需要指定 Namesrv 地址,與其中一個 Namesrv 建立長連接。消費者每隔 30 秒從 Namesrv 獲取所有Topic 的最新隊列情況,
Consumer 跟 Broker 是長連接,會每隔 30 秒發心跳信息到Broker。 - 消費者端的負載均衡。根據消費者的消費模式不同,負載均衡方式也不同。
- 獲得 Topic-Broker 的映射關系。consumer 啟動時需要指定 Namesrv 地址,與其中一個 Namesrv 建立長連接。消費者每隔 30 秒從 Namesrv 獲取所有Topic 的最新隊列情況,
-
消費者消費模式有幾種
- 集群消費:一個 Consumer Group 中的各個 Consumer 實例分攤去消費消息,即一條消息只會投遞到一個 Consumer Group 下面的一個實例。
- 廣播消費:消息將對一個Consumer Group 下的各個 Consumer實例都投遞一遍。即使這些 Consumer 屬于同一個Consumer Group ,消息也會被 Consumer Group 中的每個 Consumer 都消費一次。
參考(部分摘抄的文字版權屬于原作者):
https://blog.csdn.net/pzq915981048/article/details/88971356
https://blog.csdn.net/huayushuangfei/article/details/80866642
博客作者:編碼專家
公 眾 號:編碼專家
獨立博客:codingbrick.com
文章出處:http://www.rzrgm.cn/xiaoyangjia/p/13278241.html
本文版權歸作者所有,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接。
公 眾 號:編碼專家
獨立博客:codingbrick.com
文章出處:http://www.rzrgm.cn/xiaoyangjia/p/13278241.html
本文版權歸作者所有,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接。
浙公網安備 33010602011771號