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

                ![](https://cdn.zimug.com/wx-zimug.png) 本文對應視頻:https://www.bilibili.com/video/BV1Fu411y73E/ [TOC] ## 一、消息傳遞模型 通常來說,消息隊列的消息傳遞模型主要有兩種: 1、Point-to-Point(P2P),一條消息由一個消費者消費。 2、Publish/Subscribe(Pub/Sub),一條消息被多個消費者消費。 ### 1. P2P模型(點對點模型) 在P2P(點對點)模型中,一條消息僅能被一個消費者進行消費。消息隊列負責接收生產者發布消息,同時支持消費者從隊列中獲取消息。 ![](http://cdn.zimug.com/d9ac9fbc5e68c64cdacdc6022c8f0b6d) P2P的特點: 1. 每個消息只能被一個消費者(Consumer)消費。也就是說,消息被處理一次,并且僅被處理一次。 2. 生產者和消費者之間是不存在耦合關系的,生產者向消息隊列發送了消息之后,不論消費者是否處于運行狀態,都不會影響到消息被發送到消息隊列中。 3. 可能會有多個消費者偵聽同一個隊列,但是隊列中的某一個消息只能被其中一個消費者所消費。 4. 消費者在成功消費消息之后需要向隊列進行應答反饋,所以如果你需要保證消息傳遞的可靠性,那么你需要使用P2P模式的消息隊列。 5. 消息按照順序依次放入消息隊列中,消息隊列按照先進先出的原則把消息傳送給消費者(除非使用了特殊消息優先級設置,否則一律遵循該原則)。 ![](http://cdn.zimug.com/7a064fbb2788207f0447026ba2c3aea5) 集群消費模式(消費者組模式),是為了提高吞吐量,針對同一個隊列或消費主題,存在多個消費者。多個消費者組成一個消費者組,盡量均衡的消費消息隊列中的消息。消費者組模式本質上仍然是P2P模式,消息被消費者組內的某一個消費者處理一次,并且僅被處理一次。 但是消費者組消費的模式和基礎的P2P模式,還是有一些區別:**就是消費者組模式通常無法保證消費的順序。** ### 2.Publish/Subscribe模型(發布訂閱模型) 在Pub / Sub(發布訂閱)模型中,一條消息被多個消費者(訂閱者)消費,這個消費過程就像是廣播。生產者(發布者)就像是廣播員,消費者(訂閱者)就像是聽眾。 ![](http://cdn.zimug.com/bb092ae1bc529360b5a61b803d1d93be) Publish/Subscribe的特點: 1. 每個消息可以被多個消費者(或消費者組)進行消費,這個過程通常被稱為“訂閱”,消費者也被稱為訂閱者; 2. 消息發布者通常不會知道、也感知不到哪些訂閱者正在接收該主題的消息。消息的發布者就像是一個新聞播音員,新聞我是播完了,哪些觀眾看、哪些觀眾沒看就和播音員關系不大了。就像聽眾不需要向播音員反饋信息,消息發布者也不需要等待消息訂閱者的反饋。
                  <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>

                              哎呀哎呀视频在线观看