![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
文章平均质量分 69
自律给你自由
这个作者很懒,什么都没留下…
展开
-
kafka高水位和leader epoch
高水位表示分区下副本消息到哪里是算正常提交的。比如如下图:leader副本写到8了,follower副本也写到8,那么这个8就代表要求的副本都写入了。消息到8这里才算提交成功,后面的15写入了也不算提交成功,消费端只能看到8以前的数据。只有要求的副本都写入15后,高水位才会变为15。所以也可以说高水位表示消息的可见性。后面的LEO表示当前副本消息的最后日志位置,高水位(HW)和LEO结合才能完成副本的同步。原创 2024-03-06 14:44:56 · 343 阅读 · 0 评论 -
kafka消费者重平衡是什么?怎么避免?
消费者重平衡是指主题下的分区怎么分配给消费者的过程。下面这个图可以看出该过程:原来有2个消费者,3个分区,其中一个消费者肯定就的处理2个分区了。那么当新加入消费者时,则每个消费者就只处理一个分区了。处理这个分区过程的叫协调者,协调者就在broker端。当发生重平衡时,所有消费者都不能收到消息,所以发生这个过程是非常严肃的。原创 2024-03-02 11:14:18 · 484 阅读 · 0 评论 -
kafka同步副本集及关键参数
如果副本超过10秒没有发起数据拉取操作,则认为该副本太落后了,剔出同步副本集。当leader副本挂了时,会从候选副本集中选者一个当leader副本继续对外提供服务。那么这个候选副本其实就是同步副本集,如果副本的数据和leader副本数据差太多时,该副本会被踢出同步副本集,如果数据追上来了则又加入该副本集。min.insync.replicas=3 最少同步副本集个数,当同步副本集个数大于等于该数时才算写入成功。acks=all或-1时,必须等到同步副本集都成功写入时,才响应成功。最高持久性,最低吞吐量。原创 2024-02-29 18:16:55 · 489 阅读 · 0 评论 -
一文读懂kafka内部怎么运行的
跟随副本只会在leader副本的broker挂了时,候选为leader副本。你看架构图中的partition0、partition1、partition2分属于不同的broker,当partition0的broker挂了时,那么partition1,partition2的机器会基于zookeeper选举为新的leader,从而继续提供服务。元信息里包含了broker列表,分区列表,副本列表等信息,可以理解为主题分区及副本的映射关系。相同的key则会落到同一个分区上,那么相同的key也就有了顺序性。原创 2024-02-28 17:36:05 · 425 阅读 · 0 评论