Awesome
This project has moved to https://github.com/confluentinc/confluent-kafka-dotnet and is now being maintained by Confluent
Please update to Confluent.Kafka.
rdkafka-dotnet - C# Apache Kafka client
Copyright (c) 2015-2016, Andreas Heider
rdkafka-dotnet is a C# client for Apache Kafka based on librdkafka.
rdkafka-dotnet is licensed under the 2-clause BSD license.
Usage
Just reference the RdKafka NuGet package
Examples
Producing messages
using (Producer producer = new Producer("127.0.0.1:9092"))
using (Topic topic = producer.Topic("testtopic"))
{
byte[] data = Encoding.UTF8.GetBytes("Hello RdKafka");
DeliveryReport deliveryReport = await topic.Produce(data);
Console.WriteLine($"Produced to Partition: {deliveryReport.Partition}, Offset: {deliveryReport.Offset}");
}
Consuming messages
var config = new Config() { GroupId = "example-csharp-consumer" };
using (var consumer = new EventConsumer(config, "127.0.0.1:9092"))
{
consumer.OnMessage += (obj, msg) =>
{
string text = Encoding.UTF8.GetString(msg.Payload, 0, msg.Payload.Length);
Console.WriteLine($"Topic: {msg.Topic} Partition: {msg.Partition} Offset: {msg.Offset} {text}");
};
consumer.Subscribe(new []{"testtopic"});
consumer.Start();
Console.WriteLine("Started consumer, press enter to stop consuming");
Console.ReadLine();
}
More
See examples/
Documentation
Read the API Documentation here
Read the FAQ for answers to common questions
Supported Platforms and .NET Releases
Requires .NET 4.5 or later. Tested with .NET Core on Linux, OS X and Windows, and classic .NET 4.5 on Windows.