1.kafka 中的ISR,AR
ISR: In-sync replicas 副本同步队列
AR:Assigned replicas 所有副本
OSR:Out-of sync replicas
AR=ISR+OSR
ISR由leader维护,follower 从leader 同步数据有一些延迟(延迟时间,延迟条数),任意一个超出阈值都会把follower剔除ISR,存入OSR,新加入的follower也会先存放在OSR.
2.kafka中的broker
broker是消息的代理
3.kafka follower 与leader 同步数据既不是完全的同步复制也不是单纯的异步复制。follower 可以批量从leader复制数据,leader充分利用磁盘的顺序读以及send file(zero copy)机制,提高复制性能,批量写磁盘。
4.kafka为什么那么快
cache filesystem. cache pagecache
顺序写:操作系统提供了预读和写技术,磁盘的顺序写大多数情况下逼随机内存写快
zero-copy:
batching of message:批量处理
pull 模式:使用pull进行消息的获取,消费,与消费端处理能力相符合
5.kafka producer 如何优化打入速度
增加线程
提高batch.size
增加producer实例
增加partition数
设置acks=-1时如果延迟增大,增大num.replica.fetchers(follower同步数据的线程数)