我正在构建一个POC,该POC包含部署在Kubernetes上的Kafka集群和三个从kafka读取并写入jms,反之亦然的spring boot应用程序。
我想知道如何确保数据完整性和一致性,例如: 如果生产者节点失败,则消费者将如何继续阅读消息而不会丢失味精一致性。 有测试此功能的详细方案。
答案 0 :(得分:1)
有关交易,请参见the Spring for Apache Kafka documentation。
如果您不熟悉Spring;另请参阅Spring Kafka利用的Spring Framework's Transaction Support。
Kafka无法参与JTA(XA)事务,因此您唯一的选择是通过Spring事务同步来考虑Best Efforts 1PC commits并处理先前已经处理过的消息(失败后)重新交付的可能性很小。 )。