本文目录
分区partition
一定条件下,分区数越多,吞吐量越高。分区也是保证消息被顺序消费的基础,kafka只能保证一个分区内消息的有序性
副本
每个分区有一至多个副本(Replica),分区的副本分布在集群的不同代理上,提高可用性。分区的每个副本在存储上对应与日志对象log对应
AR
每个分区的多个部分之间称为AR(assigned replicas),包含至多一份leader副本和多个follower副本
ISR
kafka在zookeeper中动态维护了一个ISR(In-sync Replica),即保存同步的副本列表。列表中保存的是与leader副本保持消息同步的所有副本对应的代理节点id
优先副本
AR列表中的第一个副本。理想情况下,优先副本是该分区的leader副本。所有的读写请求都有分区leader副本处理,kafka要保证优先副本在集群中均匀分布,保证了所有分区leader均匀分布,
代理
每一个kafka实例称为代理(broker),每个代理都有唯一标示id即broker id,一台服务器上可以配置一个或多个代理
kafka streams
java语言实现的用于流处理的jar文件
controller_epoch
控制器轮值次数,每选出一个新的控制器,+1,对应zookeeper的controller_epoch字段
选举策略是在zk的controller/路径下创建临时节点
zkVersion
类似于数据库乐观锁,用于更新zk下相应元数据信息
leader_epoch
分区leader更新次数
配置文件
[root@sjck-node03 config]# cd /usr/local/kafka/config
[root@sjck-node03 config]# cp server.proper