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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、概述 Kafka 是一個消息系統,原本開發自 LinkedIn,用作 LinkedIn 的活動流(Activity Stream)和運營數據處理管道(Pipeline)的基礎。現在它已被多家不同類型的公司 作為多種類型的數據管道和消息系統使用; Kafka 是一種分布式的,基于發布 / 訂閱的消息系統; ## 二、基礎概念 ### **Producer** 消息生產者,是消息的產生源頭,負責生成消息并發送給Kafka; ### **Consumer** 消息消費者,是消息的使用方,負責消費Kafka服務器上的消息; ![](https://img.kancloud.cn/5d/eb/5deb7a4e6e42f7c6732719d5a6a03f0c_1240x579.png) ### **Topic** 主題,由用戶自定義,并配置在Kafka服務器,用于建立生產者和消費者之間的訂閱關系,生產者將消息發送到指定的Topic,然后消費者再從該Topic下去取消息。 ### **Partition** 消息分區,一個Topic下面會有多個Partition,每個Partition都是一個有序隊列,Partition中的每條消息都會被分配一個有序的id; ![](https://img.kancloud.cn/e2/df/e2dfb2bbef3466d3e0ec566e70ddf0c8_720x336.png) ### **Group** 消費者分組,將同一類的消費者歸類到一個組里。在Kafka中,多個消費者共同消費一個Topic下的消息,每個消費者消費其中的部分消息,這些消費者就組成了一個分組,擁有同一個組名。 ### **Broker** 這個其實就是Kafka服務器了,無論是單臺Kafka還是集群,被統一叫做Broker,有的資料上把它翻譯為代理或經紀人; ![](https://img.kancloud.cn/d4/21/d421a7079cbd3e919d2515d0378343b0_720x444.png) ## 三、工作流程 1)生產者定期向主題發送消息; 2)Kafka broker將所有消息存儲在為該特定主題配置的分區中。它確保消息在分區之間平等共享。如果生產者發送兩個消息,并且有兩個分區,則Kafka將在第一個分區中存儲一個消息,在第二個分區中存儲第二個消息; 3)消費者訂閱一個特定的主題; 4)一旦消費者訂閱了一個主題,Kafka將向消費者提供該主題的當前偏移量,并將偏移量保存在ZooKeeper中; 5)消費者將定期請求Kafka新消息; 6)一旦Kafka收到來自生產者的消息,它會將這些消息轉發給消費者; 7)消費者將收到消息并處理它; 8)一旦消息被處理,消費者將向Kafka broker發送確認; 9)一旦Kafka收到確認,它會將偏移量更改為新值,并在ZooKeeper中進行更新。由于ZooKeeper中保留了偏移量,因此即使在服務器出現故障時,消費者也可以正確讀取下一條消息;
                  <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>

                              哎呀哎呀视频在线观看