18

Is that possible?

The official .Net client confluent-kafka-dotnet only seems to provide consumer and producer functionality.

And (from what I remember looking into Kafka streams quite a while back) I believe Kafka Streams processors always run on the JVMs that run Kafka itself. In that case, it would be principally impossible.

Evgeniy Berezovsky
  • 18,571
  • 13
  • 82
  • 156

2 Answers2

17

May 2020 there seems to be a project in the making to support Kafka Streams in .NET: https://github.com/LGouellec/kafka-stream-net

As per their road-map they are now in early beta and intend to get to v1 but the end of the year or beginning of next

Tomer Cagan
  • 1,078
  • 17
  • 31
16

Yes, it is possible to re-implement Apache Kafka's Streams client library (a Java library) in .NET. But at the moment there doesn't exist such a ready-to-use Kafka Streams implementation for .NET.

And (from what I remember looking into Kafka streams quite a while back) I believe Kafka Streams processors always run on the JVMs that run Kafka itself. In that case, it would be principally impossible.

No, Kafka Streams "processors" as you call them do not run in (the JVMs of) the Kafka brokers, which would be server-side.

Instead, the Kafka Streams client library is used to implement client-side Java/Scala/Clojure/... applications for stream processing. These applications talk to the Kafka brokers (which form the Kafka cluster) over the network.

miguno
  • 14,498
  • 3
  • 47
  • 63
  • 2
    Thanks. FYI, I call processors what Kafka calls them: [_Processors_](https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/processor/Processor.java). – Evgeniy Berezovsky Feb 18 '18 at 23:09
  • 2
    Here is the github issue for this: https://github.com/confluentinc/confluent-kafka-dotnet/issues/344 – Simon The Cat Apr 17 '18 at 15:45