当前位置: 首页 > 知识库问答 >
问题:

如何使用Kafka在Spring Cloud Stream中设置幂等生产者?

高豪
2023-03-14

我想利用Kafka 0.11中引入的幂等生产者。根据这篇融合的博客文章,添加了一个新属性来支持这一点:

幂等性:每个分区仅一次有序语义

要启用此功能并在每个分区中准确获取一次语义,即没有重复,没有数据丢失,并且为了语义,请将生产者配置为设置“enable.idemponence=true”。

这一点既不是Spring Cloud Stream,也不是Spring Kafka文档对该属性的使用。我们如何在Spring云流应用程序中配置它?

共有1个答案

洪光霁
2023-03-14

可以使用设置任意kafka属性spring.cloud.stream.kafka.bindings.

因此,只需将属性设置在那里。

当然,您需要覆盖默认的kafka绑定器,以使用kafka11工件,如Ditmars发行版系列发行说明中所述。

kafka11绑定器也支持事务

 类似资料:
  • Kafka文件说,幂等生产者是可能的,与相同的生产者会话,我无法理解这一点。 比方说,Kafka为每条消息添加序列号,最后一个序列号在Kafka中维护(不确定它维护在哪里)。 它是如何生成序列号的,它保存在哪里? 为什么当制作人崩溃并再次出现时,它不能保持序列? 我怎样才能使它在制作人会话之间真正幂等?

  • 我在应用程序中使用了Kafka 1.0.1,我已经开始使用0.11中引入的幂等生产者功能,在使用幂等生产者功能时,我很难理解排序保证。 我的生产者的配置是: 重试50次 根据文件: 重试 设置一个大于零的值将导致客户端重新发送任何记录,如果该记录的发送失败,可能会出现暂时性错误。请注意,此重试与客户端在收到错误后重新发送记录没有什么不同。允许在不设置最大值的情况下重试。航班请求。每连接到1可能会改

  • 我的应用程序有5个以上的消费者在使用一个kafka主题的5个分区。(使用kafka版本11)我的消费者每个都产生一个消息到另一个主题,然后保存一些状态到数据库,然后做一个手动立即确认,并移动到下一个消息。 我试图解决当他们向出站主题发出成功时的场景。那么我们就会失败/失去消费者。当另一个使用者接管分区时,它将向出站主题发出另一条消息。这很糟糕:( 我发现Kafka现在有了幂等制作人,但从我读到的内

  • 我使用带有幂等生产者配置的spring kafka: 这是我的配置道具: 我的Kafka制作人抛出OutOfOrderSequence异常: 2019-03-06 21:25:47发送者[ERROR][生产者clientId=生产者-1]代理返回org.apache.kafka.common.errors.OutOfOrderSequence异常:代理在偏移-1处收到主题分区主题-1的乱序序列号。

  • 我创建了一个带有三个分区的Kafka主题。使用Spring Kafka中的ProducerFactory,我可以创建一个producer实例。但是,我想创建三个生产者实例,因为我有三个分区。类似地,我想要三个consumer的实例。我该怎么做?请帮忙。

  • 我使用PHP-S127.0.0.1:4242命令在本地主机上为php文件启动development server。但我想,我不应该在生产中使用这个东西。目前我正在尝试在VPS上设置我的网站,我不知道如何在端口4242上永远使用ssh启动php服务器。我知道,这可能是很愚蠢的问题,这是我第一次与真正的主持工作 如有任何帮助,我将不胜感激:)