Kafka 实时保证

Kafka Real-Time guarantees

Kafka 能否保证消费者在消息(成功)生成后 x 毫秒内看到消息?

背景:

我有一个系统,其中服务 A 接受请求。服务 B 需要能够回答在特定时间内有多少请求传入。服务 B 需要精确。我的计划是:

在这种情况下,Kafka需要保证我可以在消息产生后最多X毫秒消费它。是这样吗?

在 Kafka 中,一旦高水位线增加,消息就可以被消费。这保证在满足最小同步副本数后发生。这里的权衡是延迟的持久性。如果您需要更低的延迟,则仅在领导者处进行确认会更快。但是,这不如等待 2 个同步副本持久。在回答"when can I consume?"的时候,你真的在​​回答"when has the message been acknowledged as written by Kafka?"