如果Spring Cloud Stream能够提供Kafka Stream API提供的“恰好一次”语义,我在这里以及在Spring网站和博客上都找不到。 也许没有单一的配置/注释,并且在线程“ Is it possible to get exactly once processing with Spring Cloud Stream?”中我可以找到有用的东西,但是答案是专家的很高水平。 感谢您的帮助
答案 0 :(得分:3)
Spring Cloud Stream在处理保证方面没有做任何特别的事情。您可以通过提供processing.guarantee
属性并将其设置为exactly-once
将其委托给Kafka Streams。有关更多详细信息,请参见this。当使用Spring Cloud Stream Kafka Streams联编程序时,可以将其作为属性提供给Spring Boot应用程序,如下所示。
spring.cloud.stream.kafka.streams.binder.configuration.processing.guarantee
。
请记住,仅当您将结果写回Kafka时,Kafka Stream的一次保证才有效。