我想知道是否可以通过分布式消费者以反应方式实现一次语义。
在Reactor Kafka的参考文档中,我们有一个Exactly-once交付的示例代码。问题是接收方必须有权访问 KafkaSender 拥有的 TransactionManager。
我们可以有一个共享的 TransactionManager 来处理所有这些混乱吗?通过将 KafkaTransactionManager 用于常规 Spring Kafka,我们确实具有类似的功能。但这是不同的,不能在Reactor kafka中使用。
有什么见解吗?
由于事务管理器拥有生产者并用于在该生产者上启动事务,因此您需要为每个接收者使用不同的
TransactionManager
(和发送者)实例(具有不同的 transactional.id
)。