<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 中間件差異 1. ZeroMQ并沒有broker角色的服務器, 當然也可以基于ZeroMQ構造broker角色,事實上,ZeroMQ被編譯成一個**嵌入式**的庫 2. RabbitMQ以boker角色的服務器啟動運行,用于連接消息的生產者和消息的消費者.需要對RabbitMQ進行配置以滿足特定場景的使用需求. 2. ZeroMQ架構中,消息**沒有持久化**,ZeroMQ中也**不包含任何高可用性的設計機制,如主備,集群**等.如果需要這些特性,需要調用者程序在ZeroMQ之外實現. 3. RabbitMQ框架中的消息默認是不持久化的,但是**可配置持久化**,RabbitMQ有自己的數據庫系統來存儲持久化的消息.RabbitMQ包含了原生的**內嵌集群**,集群節點可以部署在同一物理機器上,也可以部署到同一數據中心的不同物理機器上,abbitMQ可以結合**負載均衡**組件,如HAProxy等,對集群節點進行故障切換和高效率訪問. 3.**ZeroMQ的API是對網絡插口socket的封裝**,根據并提供了若干角色,如REQ, REP, PUB, SUB,PUSH, PULL等等,在特定的使用場景中, 4. ZeroMQ不但可以提供和遠程物理機器的訪問, 還提供了ipc和inproc機制,進行進程間和進程內不同線程間的訪問連接. 5. RabbitMQ的API語義非常清晰,其API是遵循AMQP協議, RabbitMQ在AMQP的exchange, queue, binding, route key等概念基礎上,構造不同的使用模式. ### 總結 ZeroMQ框架的特殊之處,在于它是一個嵌入式的庫, 某些特性可能需要調用者在ZeroMQ之外進行實現,比如實現消息持久化, 在這樣的需求場景中, ZeroMQ可能并不是很好的選擇.但是嵌入式庫的優勢是可以實現ipc甚至inproc機制,其可以包含在一個以stand-alone形式運行的復雜應用程序中, 處理其不同進程或者線程間的消息.也這因為ZeroMQ是個嵌入式庫, 所以其另一個優勢是其移植性 ## 使用消息隊列的好處 1. 業務系統往往要求響應能力特別強,能夠起到削峰填谷的作用。 2. 解耦和高可用。如果一個系統“掛了”,則不會影響其他系統的繼續運行。 3. 業務系統往往有對消息的高可靠要求,以及有對復雜功能(如ACK)的要求。 4. 增強業務系統的異步處理能力,減少甚至幾乎不可能出現并發現象。 先定時從數據庫獲取數據,然后存入MQ消息隊列,最后Job定期掃描MQ消息隊列進行處理,有如下優點 1. 業務可注冊、可配置。 2. 數據獲取規則可配置。 3. 成功消費MQ中的消息才會被確認(ACK),提高可靠性。 4. 大大增強了異步處理業務作業的能力,假設Job掃描后先預取5條消息,然后異步處理這5條消息,也就是說,這5條消息可能會同時被處理。
                  <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>

                              哎呀哎呀视频在线观看