I finished enough of the .NET client for Kafka that I wrote about in my last post to feel comfortable in sending out a pull request to the Kafka team. I just received notification moments ago that it was accepted into the project and merged into mainline.
The client covers basic Producer and Consumer operations. The Producer can send both synchronous and asynchronous messages. The Consumer can retrieve messages and offsets from Kafka, but at the moment, unlike other client consumers that were developed, it does not yet have a mechanism for polling. I hesitantly left that bit out as I was concerned with “completeness” of the client API, but my primary need was related to sending messages to Kafka through .NET environments and not necessarily consuming them, so it was lower priority for me. Perhaps that will be a later addition to the client. You can read more about the client API in the README.md for the client.
While the demand for a .NET client is arguably low, given the Kafka target domain and environment, there might be a few progressive .NET minds who could find some value in what I’ve contibuted.