Kafka中的消息一致性测试场景

message consistency test scenario in Kafka

我正在构建一个 POC,其中包含部署在 Kubernetes 上的 Kafka 集群和三个 spring 从 kafka 读取并写入 jms 的引导应用程序,反之亦然。

我想知道如何确保数据的完整性和一致性,例如: 如果生产者节点失败,消费者将如何在不丢失消息一致性的情况下继续读取消息。 有没有详细的场景来测试这个功能。

请参阅 the Spring for Apache Kafka documentation 交易。

如果您是Spring的新手;另见 Spring Framework's Transaction Support Spring Kafka 利用的

Kafka 无法参与 JTA (XA) 事务,因此您唯一的选择是通过 Spring 事务同步考虑 Best Efforts 1PC commits 并处理重新传递消息的(小)可能性已处理(失败后)。