Kafka的基礎原理

1、Kafka的基礎特色

一、消息系統有兩種模型(隊列和發佈訂閱)。kafka使用消費者組統一了上述的兩種模型。html

同一個消費者組內的消費者之間是隊列模型。不一樣的消費者組之間是訂閱模型。算法

2、kafka中zookeeper的做用

一、管理broker和consumer

  zookeeper用來存儲kafka集羣的元數據信息源碼分析

二、無論理producer

3、kafka的生產者流程  

在正常狀況下,Kafka中的每一個Topic都會有不少個分區,每一個分區又會存在多個副本。在這些副本中,存在一個leader分區,而剩下的分區叫作 follower,全部對分區的讀寫操做都是對leader分區進行的。因此當咱們向Kafka寫消息或者從Kafka讀取消息的時候,必須先找到對應分區的Leader及其所在的Broker地址,這樣才能夠進行後續的操做。本文將要介紹的就是 Kafka 是如何找到 leader 分區的。.net

因爲Producer和Consumer都只會與Leader角色的分區副本相連,因此kafka須要以集羣的組織形式提供主題下的消息高可用。kafka支持主備複製,因此消息具有高可用和持久性。設計

生產者客戶端也能夠配置某種算法用來規劃消息發往那個partiton。htm

4、kafka的消費者流程

 5、kafka的controller

kafka會從全部的broker中選取一個broker做爲controller。blog

參考文獻:

kafka源碼分析:https://www.jianshu.com/p/aa274f8fe00fseo

kafka生產者:https://www.jianshu.com/p/4297ad291f1a隊列

kafka消費者:https://www.jianshu.com/p/de95656373c1?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendationget

kafka如何尋找leader分區:https://blog.csdn.net/b6ecl1k7BS8O/article/details/80164679

kafka設計原理:http://www.javashuo.com/article/p-baepbuop-cb.html

kafka的配置:http://www.javashuo.com/article/p-opxgtpdv-bd.html

kafka消息系統:http://www.javashuo.com/article/p-zyhzdmxo-cy.html

kafka的原理和特性:https://yuanhsh.iteye.com/blog/2202880

kafka的元數據管理:https://blog.csdn.net/bingdianone/article/details/88555490#ZK_1

kafka知識點詳解:http://www.javashuo.com/article/p-vtrjpsfv-cs.html

相關文章
相關標籤/搜索