1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          kafka(Kafka中的基本概念圖解)

          來源:互聯網轉載 時間:2024-04-30 15:38:01

          本次將學習Kafka中的基本概念。首先我們回顧下在消息系統的使用場景中有三種角色分別是生產者、消息系統消費者,其中生產者負責產生消息和發送消息到消息系統,而消息系統將為消費者提供消息用于處理,如下圖。

          Kafka是基于發布/訂閱模式的消息系統,如下圖。生產者會將消息推送到Kafka中的某個Topic上。引入Topic的目的則是為了對消息進行分類,這樣消費者就可以根據需要訂閱相應的Topic獲取消息。

          雖然Kafka這樣已經能開始工作了,但緊接著又面臨單點問題。而為了解決單點問題,Kafka引入了Broker的概念。一個Broker是一個Kafka實例,而一臺機器上可運行多個Broker,這里我們認為一臺機器上只有一個Kafka實例。多個Broker將形成一個Kafka集群,而Topic也可指定副本數量,作為多個副本位于多臺機器上。Kafka使用ZooKeeper在多個副本中選舉出一個Leader,其他副本將作為Follower。Leaer主要負責讀寫消息,也就是和生產者、消費者打交道,同時將消息同步寫到其他副本中。當有Broker失效時,如果Topic沒有了Leader,則會重新選舉出新的Leader,從而解決單點問題。

          引入Broker和副本后解決了單點問題,接著面對的是性能問題,對于單個Topic來說,只有Leader所在的Broker與生產者、消費者進行通信,這樣吞吐量將受到Broker所在的機器限制。那么如何提高吞吐量。Kafka將Topic拆分成多個分區,也就是將消息進行劃分,類似數據庫的分庫,這樣起到了負載均衡的作用,可不受單機的限制。如下圖,生產者A分別往TopicA的分區0和分區1寫消息,而消費者A、B則也從分區0、1獲取消息。這里注意下,在不同分區存儲的消息也是不同的,和副本的概念要分清楚。

          從上圖中我們可看到消費者A在消費TopicA時分別從分區0、分區1中獲取消息,為了進一步提高吞吐量,Kafka引入了消費組的概念,將消費者A拆分成多個消費者,從而形成一個消費組。我們可以這樣理解,消費者A是一個應用A實例,為了提高消費的吞吐量,我們多部署了幾個消費者A實例,這樣就有多個消費者形成一個消費組,但干的都是應用A做的事,需要與消費者B(不同的應用)區分開。一般設置消費組的消費者數與分區數一致,這是為了一個消費者能負責一個分區,提高效率。如果消費組的消費者數量小于分區數,則會出現一個消費者負責多個分區。而如果消費組的消費者數量大于分區數,則會出現有消費者分不到分區,造成浪費。所以一般保持一致。為了簡潔,且消費組B和消費組A類似,所以下圖未將消費組B畫出。

          Kafka中的基本概念就是以上這些:生產者、消費者、Topic、Broker、副本、分區和消息組。最后為了大家更好的理解分區的概念,再畫一張細節圖。

          一個分區可以看做是一個單獨的隊列,生產者根據策略將消息寫入對于的分區,策略有三種:一、直接指定分區;二、如果未指定分區,則根據消息的key,通過哈希函數指定分區;三、如果沒有key,則輪詢分區。這里想強調的是分區中的數據是不同的,一條消息只會進入一個分區。而消費組中的消費者則會根據偏移量去分區中取得相應的消息進行消費處理。


          到此,關于“Kafka中的基本概念圖解”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注本站網站,小編會繼續努力為大家帶來更多實用的文章!

          標簽:kafka-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          經濟下行壓力大是什么意思?經濟下行壓力大的意思是指衡量經濟增長的數據指標在不斷的降低,且下降速度還在不斷加快。在發展中國家,肯定會存在機制、體制、結構不合理等一些問題。 但是經濟增長的速度下滑,更多的原因可能是因為外在原因所導致的,比如說短期影響經濟增長的三大因素。經濟下行會給企業和個人帶來哪些影響?第一、經濟下行會使得企業發展緩慢當經濟處于下行通道中,意味著社會的經濟規模增長放緩,對于企業來說,...

          (相關資料圖)貉子皮行業現狀分析報告主要分析要點有:1)貉子皮行業生命周期。通過對貉子皮行業的市場增長率、需求增長率、產品品種、競爭者數量、進入壁壘及退出壁壘、技術變革、用戶購買行為等研判行業所處的發展階段;2)貉子皮行業市場供需平衡。通過對貉子皮行業的供給狀況、需求狀況以及進出口狀況研判行業的供需平衡狀況,以期掌握行業市場飽和程度;3)貉子皮行業競爭格局。通過對貉子皮行業的供應商的討價還價能力、...

          400億韓元等于多少人民幣?韓國硬幣最小單位是什么?40000000000韓元=206024400人民幣(約2.06億元人民幣)也就是說400億韓元可以兌換約2.06億元人民幣,需要說明的是,匯率每天都有波動,不等于每天都可以兌換這么多,有漲有跌,所以數據僅供大家參考,請以當天匯率為準。韓幣有紙幣和硬幣兩種。紙幣有1000韓元、5000韓元、10000韓元、50000韓元四種。韓國硬幣總共有1韓元...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>