【问题标题】:Kafka with .Net Client带有 .Net 客户端的 Kafka
【发布时间】:2016-10-29 01:28:31
【问题描述】:

我想在我们的生产环境中使用 kafka。我想知道最新版本的客户端是否在生产启动时没有错误。它与消费者群体合作吗?我想每秒传10000条记录,适合不适合?

【问题讨论】:

  • 你选择什么客户端?

标签: apache-kafka kafka-producer-api


【解决方案1】:

我可能会迟到,但 confluent 有一个很棒的 .net kafka 库。很容易实现消费者组并且高度可配置。

https://www.nuget.org/packages/Confluent.Kafka/

【讨论】:

  • 我还没有尝试过 conluent kafka,但第一眼看来,这似乎是最专业的解决方案。即 kafka-net 总是从头开始读取,并且没有内置函数来从最后一个偏移量中检索记录。 rd-kafka 有这种可能性,但正如我所见,conluenct kafka 具有以上所有功能。还有下一次消费的时间,会话超时和一些其他库不可用的参数。学习起来似乎很复杂,但我会给它一个机会。
  • 你是对的......到目前为止,confluent Kafka 似乎是最好的 .NET 客户端,因为它有 kafka 核心团队支持
  • 是的,但是你不能在那个客户端上使用 avro 和 schema reg 吗?如果不需要,两者都是巨大的痛苦。
【解决方案2】:

目前microsoft kafka client 尚未得到积极开发/支持。相反作者推荐使用rdkafka-dotnet,文档更好,使用方便

【讨论】:

【解决方案3】:

我可能会很晚才开始谈话。但是我们正在使用 DotNet 客户端在生产中使用 Kafka。这是最新的更新和官方支持的版本https://github.com/confluentinc/confluent-kafka-dotnet

confluent-kafka-dotnet 源自 librdkafka (https://github.com/edenhill/librdkafka/)

【讨论】:

    【解决方案4】:

    我只知道一个 .net Kafka 客户端 (https://github.com/Jroland/kafka-net),并且 README 说得很清楚:

    该项目的当前版本是一个正常运行的“正在进行中的工作”,因为它是在 2 月初才开始的。

    此外:

    这对我来说是一个宠物项目,目前不需要 Kafka 服务器客户端。这意味着客户端当前仅针对一小组 Kafka 测试服务器进行测试,而不是针对任何具有任何实际数据负载的服务器进行测试。

    此处维护了可用客户端列表:https://cwiki.apache.org/confluence/display/KAFKA/Clients 因此,您可以观察是否有其他 .net 客户端可用。

    【讨论】:

      【解决方案5】:

      我在下面的链接中向您推荐 Microsoft .NET Kafka 库。据我所知,这个库比 kafka-net 好得多。

      https://github.com/Microsoft/CSharpClient-for-Kafka

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-25
        • 2012-12-12
        • 2010-09-08
        • 1970-01-01
        相关资源
        最近更新 更多