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

相关文章
相关标签/搜索