此次安装的kafka版本为0.10.2.0
节点”存活”
节点必须能够和zookeeper机器建立心跳信号
如果是个备份节点, 必须在主节点写的时候进行复制, 不能落下太远.
主节点保持跟踪同步中的节点, 如果一个备份节点宕机, 卡住, 或跟不上, 主几点将会把它从已经同步的复制集中删除, 用于判定卡住或者落后延迟, 使用 replica.lag.time.max.ms 这个配置参数
生产者中的反馈配置项是什么
kafka分区机制的核心是复制日志. 复制日志是分布式系统中最基础的最原始的东西, 要实现这一的功能有很多方式, 复制日志可以被其他系统用作分布式系统的基础措施.
个复制算法必须提供,”如果我们告诉客户端消息已经提交了, 这个时候主节点宕机, 新的主节点被选举出来时必须保证也有拥有这条消息”, 这里有一个权衡, 主节点必须等待多个从节点反馈消息已经提交, 这样才能有更多备节点能用来做为主节点的候选节点.
多数投票策略需要3个副本和一次反馈, isr策略需要2个副本和一次反馈 ISR策略是什么
所有副本都宕机的情况的
等待ISR中一个副本起来, 然后选择这个副本作为主节点(期望数据不会丢失)
选择第一个存活的副本(不一定在ISR副本 集中)直接作为主节点
unclean.leader.election.enable状态含义
如何保证消息的持久性大于可用性
禁止无主选举, 如果所有的副本都不可用, 这个分区就要等到最近一个主分区可以用时才可用, 这比较可能导致不可用, 而不是数据丢失
指定一个最小的ISR集合, 分区只有在ISR集合的个数大于指定值时, 才能进行读写, 这样可以阻止消息只写入到一个副本的 这个参数提供了一致性和可用性之前的权衡the producer uses acks=all
参数min.compaction.lag.ms 可以控制消息必须经过质指定的时间间隔后才能被压缩
有的删除标志的记录会在消费者到达头部之前, 小于主题设置的 delete.retention.ms(默认是24小时)时间之内被处理
日志分段是什么,如何工作 如何组成完整的日志
* 1, enable.idempotence必须为true
* 2,acks为all
* 3,max.in .flight.requests.per.connection 小于等于5
* 4,retries 大于0
log.cleanup.policy=compact
log.cleaner.min.compaction.lag.ms 日志压缩延迟时间参数
kafka quota如何配置 作用
http://ifeve.com/kafka-design/
零拷贝
https://www.ibm.com/developerworks/linux/library/j-zerocopy/