第35课:Kafka源码解读中分区数、Consumer并行度等
kafka中怎么设置分区的?
class Partition: Data structure that represents a topic partition. The leader maintains the AR, ISR, CUR, RAR
Partition分区被zookeeper管理的
zookeeper有leader follower
kafka高吞吐量: 1、基于内核空间的缓存,顺序读写 2、数据层面使用topic、Partition分区分布式化了,kafka有很多topic,topic下面有很多Partition,consumer消费的是Partition。 producer、consumer多线程并发操作,操作一个分区。
并行度:kafka的topic越多,Partition越多,集群吞吐量越大。有利必有弊,Partition越多,服务端,客户端开辟很多的线程,太多的时候,产生太多的句柄,很多工作放在管理上了,不是放在消息的传递上。
Partition:每一个Partition一个目录,具有索引、replicamanager管理句柄及leader、follower的交互、如10万个分区分布在几台机器上,其中一台机器挂了,借助zookpeer的leader选举机制,zookpeer的leader选举工作非常庞大,恢复工作也非常庞大,因此要设定合适的分区数。根据生产环境来调。
producer:推数据同步、异步 consumer:考量因素:业务逻辑、线程开销、