天天看點

面試連環炮系列(二十️四):為什麼選擇RocketMQ

  1. 為什麼選擇RocketMQ,而不是其他MQ
    1. 性能:阿裡支撐,經受住淘寶,天貓雙11重重考驗;性能高;可靠性好;可用性高;易擴充。
    2. 功能:功能完善,我們需要的功能基本都夠滿足,如:事務消息,消息重試,死信隊列,定時消息等。
    3. 易用:跨平台:跨語言,多協定接入(支援HTTP, MQTT, TCP協定,支援Restful風格HTTP收發消息)。
  2. RocketMQ 由哪些角色組成
    1. 生産者(Producer):負責産生消息,生産者向消息伺服器發送由業務應用程式系統生成的消息。
    2. 消費者(Consumer):負責消費消息,消費者從消息伺服器拉取資訊并将其輸入使用者應用程式。
    3. 消息伺服器(Broker):是消息存儲中心,主要作用是接收來自 Producer的消息并存儲, Consumer 從這裡取得消息。
    4. 名稱伺服器(NameServer):用來儲存 Broker 相關 Topic 等元資訊并給 Producer ,提供 Consumer 查找Broker資訊。
  3. 說說你對消費者的了解
    1. 獲得 Topic-Broker 的映射關系。consumer 啟動時需要指定 Namesrv 位址,與其中一個 Namesrv 建立長連接配接。消費者每隔 30 秒從 Namesrv 擷取所有Topic 的最新隊列情況,

      Consumer 跟 Broker 是長連接配接,會每隔 30 秒發心跳資訊到Broker。

    2. 消費者端的負載均衡。根據消費者的消費模式不同,負載均衡方式也不同。
  4. 消費者消費模式有幾種
    1. 叢集消費:一個 Consumer Group 中的各個 Consumer 執行個體分攤去消費消息,即一條消息隻會投遞到一個 Consumer Group 下面的一個執行個體。
    2. 廣播消費:消息将對一個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

作者:編碼磚家

公衆号:編碼磚家

出處:https://www.cnblogs.com/xiaoyangjia/

本文版權歸作者和部落格園共有,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文連結。

繼續閱讀