微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

消费者运行时在Confluent.Kafka中使用主题消息

如何解决消费者运行时在Confluent.Kafka中使用主题消息

我在.netCore项目中使用Confluent.Kafka(1.4.4)作为消息代理。在项目启动时,我仅将“ bootstrapservers”设置为appSetting.json文件中的特定服务器,并在必要时使用以下相关类中的代码在API中生成消息:

In [2680]: s = "Enter 3 random strings,separated by commas: The,Dave,Make"
In [2686]: s.split(':')[-1].strip().split(',')
Out[2686]: ['The','Dave','Make']

我还在消费者解决方案中添加了以下代码

origin/develop

我产生一条消息,当消费者项目运行时,一切运行顺利,并且在消费者解决方案中正在读取该消息。 当使用者项目未运行并且我将API中的消息与API中的消息生成器排队时,会引发问题。在运行使用者之后,没有任何关于该主题的有效消息正在生成。 我熟悉消息代理并在消息代理中有经验,我知道通过发送消息,消息将一直在总线上使用,直到被使用为止,但我不明白为什么该消息在该项目中不适用于Kafka。

解决方法

“ auto.offset.reset”消费者属性的默认设置为“最新”。

这意味着(在尚未写入偏移的情况下)如果您向某个主题编写消息,然后随后启动使用者,则它将跳过在使用者启动之前写入的所有消息。这可能就是为什么消费者没有看到生产者排队的消息的原因。

解决方案是将“ auto.offset.reset”设置为“最早”,这意味着消费者将从主题的最早偏移开始。

https://docs.confluent.io/current/installation/configuration/consumer-configs.html#auto.offset.reset

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。