1.高可用型
配置:acks = all,retries > 0 retry.backoff.ms=100(毫秒) (并根据实际情况设置retry可能恢复的间隔时间)
优点:这样保证了producer端每发送一条消息都要成功,如果不成功并将消息缓存起来,等异常恢复后再次发送。
缺点:这样保证了高可用,但是这会导致集群的吞吐量不是很高,因为数据发送到broker之后,leader要将数据同步到fllower上,如果网络带宽、不稳定等情况时,ack响应时间会更长
2.折中型
配置:acks = 1 retries > 0 retries 时间间隔设置 (并根据实际情况设置retries可能恢复的间隔时间)
优点:保证了消息的可靠性和吞吐量,是个折中的方案
缺点:性能处于2者中间
3.高吞吐型
配置:acks = 0
优点:可以相对容忍一些数据的丢失,吞吐量大,可以接收大量请求
版权归原作者 优秀后端工程师 所有, 如有侵权,请联系我们删除。