1、Segment的概念?
一个分区被分成相同大小数据条数不相等的segment,
每个segment由多个index文件和数据文件(.log)组成
2、数据的存储机制?
首先是Broker接收到数据后,将数据放到操作系统(linux)的缓存里(pagecache),
pagecache会尽可能多的使用空闲内存,
使用sendfile技术尽可能多的减少操作系统和应用程序之间进行重复缓存,
写入数据的时候使用顺序写入,速度可达600m/s
3、Consumer是怎么解决负载均衡的?
1)获取consumer消费的起始分区号
2)计算出consumer要消费的分区数量
3)用起始分区号的hashCode值模余分区数
4、数据的分发策略?
kafka默认调用自己默认的分区器(DefaultPartitioner),
也可以自定义分区器,需要实现Partitioner特质,实现partition方法
5、kafka是怎么保证数据不丢失的?
kafka接收到数据后会根据创建的topic指定的副本数来存储,
也就是多副本机制保证数据的安全性