如何使用 Kafka 在 Spring Cloud Stream 中设置幂等生产者?
How can I set up an idempotent producer in Spring Cloud Stream using Kafka?
我想利用 Kafka 0.11 中引入的幂等生产者。根据这个 Confluent blog post 添加了一个新的 属性 来支持这个:
Idempotence: Exactly-once in order semantics per partition
To turn on this feature and get exactly-once semantics per
partition—meaning no duplicates, no data loss, and in-order
semantics—configure your producer to set “enable.idempotence=true”.
重点既不是 Spring Cloud Stream 也不是 Spring Kafka 文档 属性 的使用。我们如何在 Spring Cloud Stream 应用程序中配置它?
可以使用 spring.cloud.stream.kafka.bindings.<channel>.producer.configuration
设置任意 kafka 属性,如 documented here。
因此,只需在此处设置 属性。
当然,您需要覆盖默认的 kafka 绑定器才能使用 kafka11 工件,如 Ditmars 发布列车中所述release notes。
kafka11 binder也支持事务
我想利用 Kafka 0.11 中引入的幂等生产者。根据这个 Confluent blog post 添加了一个新的 属性 来支持这个:
Idempotence: Exactly-once in order semantics per partition
To turn on this feature and get exactly-once semantics per partition—meaning no duplicates, no data loss, and in-order semantics—configure your producer to set “enable.idempotence=true”.
重点既不是 Spring Cloud Stream 也不是 Spring Kafka 文档 属性 的使用。我们如何在 Spring Cloud Stream 应用程序中配置它?
可以使用 spring.cloud.stream.kafka.bindings.<channel>.producer.configuration
设置任意 kafka 属性,如 documented here。
因此,只需在此处设置 属性。
当然,您需要覆盖默认的 kafka 绑定器才能使用 kafka11 工件,如 Ditmars 发布列车中所述release notes。
kafka11 binder也支持事务