小编Laz*_* R.的帖子

关于故障点,如何确保生产者和消费者应用程序之间的 kafka 事务同步?

总的来说,我对 Spring-Kafka/Kafka 还是有点陌生​​。我的问题相当简短。我有一个仅限消费者的应用程序,它不断地从 Kafka 读取、处理消息,并使用 Ack Listener 手动确认它们。我依赖于上游仅生产者的应用程序,其中它们负责将消息发送到 Kafka 主题以便我使用。我们最近实现了跨生产者和消费者的事务,但我想更多地了解故障点以及如何处理那些回滚的事务以免丢失?我读过,最好使用AfterRollbackProcessor而不是用于SeekToCurrentErrorHandlerkafka 容器工厂上的事务,并StatefulRetry设置为true。我使用事务的原因是为了在新版本中实现一次性 Kafka 语义,因为我们处理大量数据库持久性,并且由于数据库限制而无法承受重复事务。我想知道我是否@KafkaListener必须注释,@Transactional因为我在声明不应是这种情况之前读过一篇文章,但其他文章可能是这种情况,这就是我不确定的原因。我见过很多关于生产者和消费者应用程序的问题,但我还没有看到关于分别具有这些不同角色的单独应用程序的问题(即使最终可能是同一件事)。简而言之,我只是想知道将事务与 Kafka 合并时的最佳实践是什么,以及如何处理这种情况下的故障。

java spring apache-kafka spring-kafka

2
推荐指数
1
解决办法
401
查看次数

标签 统计

apache-kafka ×1

java ×1

spring ×1

spring-kafka ×1