【KIP-1】移除对request.required.acks的

2023-05-04  本文已影响0人  扬_帆_起_航

1.背景

在Kafka 0.8.2之前,如果生产者想要确保消息在特定数量的副本(N)上持久化,然后broker返回"ack"确认,需要指定request.required.acks=N。然而这有点具有误导性,因为指定request.required.acks=2并不能在所有情况下真正防止数据丢失。

2.方案

在Kafka 0.8.2中,我们添加了min.isr特性,它是一种更少误导性的类似行为的实现方式 - 用户可以指定request.required.acks=-1(在写入所有ISR之后才返回ack),并且还可以指定ISR的最小大小,以保证最小数量的拷贝。删除了对request.required.acks > 1的支持,并向请求此设置的生产者返回错误消息。

3.发布

Kafka版本: 0.9.0.0

4.总结

KIP-1使得Kafka协议的消息发送更加可靠,减少了数据丢失的可能性,从而更好地适应各种使用场景。

上一篇下一篇

猜你喜欢

热点阅读