赞
踩
request.required.acks参数表示的是生产者生产消息时,写入到副本的严格程度,决定了生产者如何在性能和可靠性之间做取舍。
acks参数有三个值 :
幂等性就是执行多次操作与执行一次操作的影响是一致的。
为了实现生产者的幂等性,引入了Producer ID 与 Sequence Number的概念:
在生产者生产消息到partition的过程中会将PID与Secquence Number一块发送,Kafka接收到消息之后,会将二者保存下来,如果ACK响应失败,出现retry,一条消息被多次发送,那么Kafka就会根据PID 与Secquence Number 判断是否保存消息;如果Kafka不具有幂等性,就有可能在partition中重复保存相同的消息。
配置幂等性
同步副本时,follower获取leader的LogStartOffest(起始位置)和LEO(下一条待写入的位置),与本地的进行比较,如果本地的LogStartOffest超出了leader的值,就把超出的数据删除掉在进行同步,如果本地的小于leader的,就直接同步。
rebalance机制是Kafka中为了确保消费者组下所有消费者达成一致,共同分配所订阅的topic的每个分区的机制,是消费者组中的consumer与topic下的partition进行重新匹配的饿过程。
触发时机
不良影响
避免方案
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。