Kafka中Topic过多异常分析

2020-05-19  本文已影响0人  IT菜鸟学习

1、kafka中偏移量的维护

1.1 、kafka 中存在一个__consumer_offsets topic 是专门维护所有topic的偏移量,这个topic下面有很多个分区(默认情况下__consumer_offsets有50个分区),每个topic下的分区节点维护在zk中

进入zk
ls /broker/topics  //可以看到kafka下所有的topic
__consumer_offsets  //这个topic下面

这个topic下面有50个分区

image.png

每个分区的leader不同,并不是只有一个leader维护这个topic,每个partion都有各自的leader

image.png

2、topic过多导致性能问题

topic过多,导致分区过多,kafka中主要是会受分区数量的影响;
每个Partition都有一个ISR(ISR全称是“In-Sync Replicas”,也就是保持同步的副本,他的含义就是,跟Leader始终保持同步的Follower有哪些。),这个ISR里一定会有Leader自己,因为Leader肯定数据是最新的,然后就是那些跟Leader保持同步的Follower,也会在ISR里。

3、Kafka单集群能够支持多少分区呢?

确切的数字自然依赖于诸如可容忍的不可用窗口时间、Zookeeper延时、broker存储类型等因素。根据经验法则我们评估单台broker能够支撑的分区数可达4000个,而单集群能够支撑200000个分区。当然后者主要受限于集群对controller崩溃这种不常见情形的容忍度,另外其他影响分区数的因素也要考虑进来。

如下链接是说明kafka与分区数量的关系影响
参考链接:https://www.confluent.io/blog/apache-kafka-supports-200k-partitions-per-cluster/
翻译链接:https://www.cnblogs.com/huxi2b/p/9984523.html

上一篇下一篇

猜你喜欢

热点阅读