kafka基本概念

kafka知识点整理

1、topic主题
kafka将一组消息归类为主题,其实就是用主题对消息进行分类,类似数据库中的表
2、partition分区
主题可以分为一个或多个分区,类似分表技术。分区本质上是个提交日志文件,有新消息,这个消息就会以追加的方式写入分区(写文件的形式),然后用先入先出的顺序读取。
在这里插入图片描述
3、logsize
消息最大偏移量 。可以理解为分区消息总记录数。
4、offset
己提交的最大消费偏移量。消费者消费数据并且提交到服务器偏移量的总数。
5、lag
消费者未消费或是己消费但还未提交而落后于消息偏移量的剩余量6、Topic与partition的关系
一个主题可以分为一个或多个分区
7、partition与logsize的关系
logsize标识一个分区内消息最大偏移量
8、partition与offset的关系
一个分区内消费者消费数据己提交的最大消费偏移量
9、logsize、offset和lag的区别
logSize:已经存入partition的数据量。
offset:消费位置
Lag:堆积量,等于logSize-offset
10、BrokerId
每个kafka得实例都称为代理(Broker),也可以把代理称为kafka服务器kafkaserver。在生产环境中kafka集群一般包含一台或多台服务器,我们可以在一台服务器上配置一个或者多个代理,每一个代理都有一个唯一的标识 id,这个id为非负整数。id在集群中唯一不与其他代理id重复。id其实就是在启动代理的时候配置的broker.id 对应的值,也可以称为BrokerId。
11、leader
由于kafka副本的存在,就需要保证一个分区内多副本数据保持一致性。kafka会选择该分区内的一个副本做为leader副本,该分区内的其他副本作为Follower副本。leader副本负责客户端信息的读写操作,follower副本从leader副本同步数据。
12、Replicas
副本列表。每个分区又有一至多个 副本(Replica),分区的副本分布在集群的不同代理上,以提高可用性
13、ISR
同步副本集合。Kafka 在 ZooKeeper 中动态维护了一个 ISR (In-sync Replica),即保存同步的副本列表。该 列表中保存的是与 Leader 副本保持消息同步的所有副本对应的代理节点 id。kafka判断代理存活需要满足两个条件,1)一个存活的节点与zookeeper保持连接,维护与zookeeper的session(zk的心跳机制)。2)如果一个节点作为follower,该节点要及时的与leader同步,不能落后太久。满足以上两点的节点都会在同步节点列表中。一旦节点宕机、卡住或或者延迟太久leader就会把该节点从同步列表中删除。如何判断卡住或者延迟太久由配置决定。数据同步落后 Leader 太 久是由配置项{replica.lag.time.max.ms}决定的, 默认情况下该配置项设置为 10 秒
14、controller
在启动kafka集群的时候,每个代理都会实例化并启动一个kafkacontroller,kafka集群中各个代理会根据选举机制选出一个代理作为leader控制器。当控制器发生宕机的时候再由其他的代理选举成为leader控制器。控制器主要负责主题的创建和删除,分区和副本的管理以及代理故障转移等处理。当一个代理成为leader控制器的时候kafkacontroller就会注册控制器相应的权限同时标记自己为leader,当代理不再是leader控制器的时候就会注销控制器相应的权限。
15、offset记录位置和原理
16、logsize记录原理
17、groupId
消费者(Comsumer)以拉取(pull)方式拉取数据,它是消费的客户端。在 Kafka 中每一 个消费者都属于一个特定消费组(ConsumerGroup),我们可以为每个消费者指定一个消费组, 以 groupld 代表消费组名称,通过 group.id 配置设置。 如果不指定消费组,则该消费者属于默 认消费组 test-consumer-group。 同时,每个消费者也有一个全局唯一的 id, 通过配置项 client.id 指定,如果客户端没有指定消费者的 id, Kafka 会自动为该消费者生成一个全局唯一的 id,格 式为{groupld }-${hostN ame }- {times tamp}- {UUID 前 8 位字符}。同一个主题的一条消息只能被同一个消费组下某一个消费者消费,但不同消费组的消费者可同时消费该消息。 消费组是 Kafka 用来实现对一个主题消息进行广播和单播的手段,实现消息广播只需指定各消费者均属于不同 的消费组,消息单播则只需让各消费者属于同一个消费组。
18、owner
每天topic的partition实际是被哪个consumer实例消费
叶子节点为partition,节点数据内容为consumer实例id以及线程序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值