<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                - 關于幾個消息中間件的比較 介紹一下你知道哪幾種消息隊列,該如何選擇呢? | 特性 | ActiveMQ | RabbitMQ | RocketMQ | Kafka | | :----------------------- | -----------------------------------------------------------: | -----------------------------------------------------------: | -----------------------------------------------------------: | -----------------------------------------------------------: | | 單機吞吐量 | 萬級,吞吐量比 RocketMQ 和 Kafka 要低了一個數量級 | 萬級,吞吐量比 RocketMQ 和 Kafka 要低了一個數量級 | 10 萬級,RocketMQ 也是可以支撐高吞吐的一種 MQ | 10 萬級別,這是 kafka 最大的優點,就是吞吐量高。一般配合大數據類的系統來進行實時數據計算、日志采集等場景 | | topic 數量對吞吐量的影響 | | | topic 可以達到幾百,幾千個的級別,吞吐量會有較小幅度的下降這是 RocketMQ 的一大優勢,在同等機器下,可以支撐大量的 topic | topic 從幾十個到幾百個的時候,吞吐量會大幅度下降。所以在同等機器下,kafka 盡量保證 topic 數量不要過多。如果要支撐大規模 topic,需要增加更多的機器資源 | | 可用性 | 高,基于主從架構實現高可用性 | 高,基于主從架構實現高可用性 | 非常高,分布式架構 | 非常高,kafka 是分布式的,一個數據多個副本,少數機器宕機,不會丟失數據,不會導致不可用 | | 消息可靠性 | 有較低的概率丟失數據 | | 經過參數優化配置,可以做到 0 丟失 | 經過參數優化配置,消息可以做到 0 丟失 | | 時效性 | ms 級 | 微秒級,這是 rabbitmq 的一大特點,延遲是最低的 | ms 級 | 延遲在 ms 級以內 | | 功能支持 | MQ 領域的功能極其完備 | 基于 erlang 開發,所以并發能力很強,性能極其好,延時很低 | MQ 功能較為完善,還是分布式的,擴展性好 | 功能較為簡單,主要支持簡單的 MQ 功能,在大數據領域的實時計算以及日志采集被大規模使用,是事實上的標準 | | 優劣勢總結 | 非常成熟,功能強大,在業內大量的公司以及項目中都有應用。偶爾會有較低概率丟失消息,而且現在社區以及國內應用都越來越少,官方社區現在對 ActiveMQ 5.x 維護越來越少,幾個月才發布一個版本而且確實主要是基于解耦和異步來用的,較少在大規模吞吐的場景中使用 | erlang 語言開發,性能極其好,延時很低;吞吐量到萬級,MQ 功能比較完備而且開源提供的管理界面非常棒,用起來很好用。社區相對比較活躍,幾乎每個月都發布幾個版本分在國內一些互聯網公司近幾年用 rabbitmq 也比較多一些但是問題也是顯而易見的,RabbitMQ 確實吞吐量會低一些,這是因為他做的實現機制比較重。而且 erlang 開發,國內有幾個公司有實力做 erlang 源碼級別的研究和定制?如果說你沒這個實力的話,確實偶爾會有一些問題,你很難去看懂源碼,你公司對這個東西的掌控很弱,基本職能依賴于開源社區的快速維護和修復 bug。而且 rabbitmq 集群動態擴展會很麻煩,不過這個我覺得還好。其實主要是 erlang 語言本身帶來的問題。很難讀源碼,很難定制和掌控。 | 接口簡單易用,而且畢竟在阿里大規模應用過,有阿里品牌保障。日處理消息上百億之多,可以做到大規模吞吐,性能也非常好,分布式擴展也很方便,社區維護還可以,可靠性和可用性都是 ok 的,還可以支撐大規模的 topic 數量,支持復雜 MQ 業務場景。而且一個很大的優勢在于,阿里出品都是 java 系的,我們可以自己閱讀源碼,定制自己公司的 MQ,可以掌控。社區活躍度相對較為一般,不過也還可以,文檔相對來說簡單一些,然后接口這塊不是按照標準 JMS 規范走的有些系統要遷移需要修改大量代碼。還有就是阿里出臺的技術,你得做好這個技術萬一被拋棄,社區黃掉的風險,那如果你們公司有技術實力我覺得用 RocketMQ 挺好的 | kafka 的特點其實很明顯,就是僅僅提供較少的核心功能,但是提供超高的吞吐量,ms 級的延遲,極高的可用性以及可靠性,而且分布式可以任意擴展。同時 kafka 最好是支撐較少的 topic 數量即可,保證其超高吞吐量。而且 kafka 唯一的一點劣勢是有可能消息重復消費,那么對數據準確性會造成極其輕微的影響,在大數據領域中以及日志采集中,這點輕微影響可以忽略這個特性天然適合大數據實時計算以及日志收集。 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看