Kafka ISR设置
server配置
rerplica.lag.time.max.ms=10000
如果leader发现flower超过10秒没有向它发起fech请求,那么leader考虑这个flower是不是程序出了点问题或者资源紧张调度不过来,它太慢了,不希望它拖慢后面的进度,就把它从ISR中移除。
topic配置
min.insync.replicas=1 # 需要保证ISR中至少有多少个replica
producer配置
request.required.asks=0
0:相当于异步的,不需要leader给予回复,producer立即返回,发送就是成功。那么发送消息网络超时或broker崩溃,既有可能丢失也可能会重发。
1:当leader接收到消息之后发送ack,丢会重发,丢的概率很小。
-1:当所有的follower都同步消息成功后发送ack,丢失消息可能性比较低。