Knet

The Apache Kafka .NET suite. KNet is a comprehensive .NET suite for Apache Kafka providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka).
Alternatives To Knet
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Kafka25,072
7 hours ago1,038apache-2.0Java
Mirror of Apache Kafka
Sarama10,0231,7594 days ago152August 11, 2022327mitGo
Sarama is a Go library for Apache Kafka.
Debezium8,538543212 hours ago137September 16, 202247apache-2.0Java
Change data capture for a variety of databases. Please log issues at https://issues.redhat.com/browse/DBZ.
Librdkafka6,713
10 hours ago271otherC
The Apache Kafka C/C++ library
Kafka Ui5,948
16 hours ago285apache-2.0Java
Open-Source Web UI for Apache Kafka Management
Strimzi Kafka Operator3,86728 hours ago34September 06, 2022138apache-2.0Java
Apache Kafka® running on Kubernetes
Goka2,1163172 months ago62July 12, 202216bsd-3-clauseGo
Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.
Spring Kafka1,9041,69122511 hours ago160September 19, 202247apache-2.0Java
Provides Familiar Spring Abstractions for Apache Kafka
Kaf1,8582a day ago71July 18, 202254apache-2.0Go
Modern CLI for Apache Kafka, written in Go.
Oryx1,7961622 years ago14November 25, 20181apache-2.0Java
Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning
Alternatives To Knet
Select To Compare


Alternative Project Comparisons
Readme

KNet: the Apache Kafka .NET suite

KNet is a comprehensive .NET suite for Apache Kafka APIs providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka).

Libraries and Tools

KNet KNetCLI KNet.Templates KNetPS KNetConnect
KNet nuget downloads KNetCLI nuget downloads KNet.Templates nuget downloads KNetPS KNetConnect nuget downloads

Pipelines

CI_BUILD CodeQL CI_RELEASE


Scope of the project

This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the Apache Kafka binary distribution.

There are many client libraries written to manage communication with Apache Kafka. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit:

  • all implemented features are availables at no extra implementation costs, see KNet usage;
  • avoids any third party communication protocol implementation;
  • access all features made available from Apache Kafka: the most important are Apache Kafka Streams and Apache Kafka Connect which does not have any C# implementation;
  • measured high performance in many operating conditions.

The Apache Kafka packages are downloaded from:

kafka-clients kafka-streams kafka-tools kafka_2.13
Maven Central Maven Central Maven Central Maven Central
connect-runtime connect-mirror connect-file connect-basic-auth-extension
Maven Central Maven Central Maven Central Maven Central

Community and Contribution

Do you like the project?

Do you want to help us?

  • put a ⭐️ on this project
  • open issues to request features or report bugs 🐛
  • improves the project with Pull Requests

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

Summary

News

  • V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafka cluster and many other things, here full usage.
  • V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafka Connect related jobs, here full usage.
  • V1.5.4+: From version 1.5.4 there are new packages dedicated to KNet Serializer/Deserializer

Runtime engine

KNet uses JNet, and indeed JCOBridge with its features, to obtain many benefits:

  • Cyber-security:
    • JVM and CLR, or CoreCLR, runs in the same process, but are insulated from each other;
    • JCOBridge does not make any code injection into JVM;
    • JCOBridge does not use any other communication mechanism than JNI;
    • .NET (CLR) inherently inherits the cyber-security levels of running JVM and Apache Kafka;
  • Direct access the JVM from any .NET application:
    • Any Java/Scala class behind Apache Kafka can be directly managed: Consumer, Producer, Administration, Streams, Server-side, and so on;
    • No need to learn new APIs: we try to expose the same APIs in C# style;
    • No extra validation cycle on protocol and functionality: bug fix, improvements, new features are immediately available;
    • Documentation is shared;
  • Dynamic code: it helps to write a Java/Scala/Kotlin/etc seamless language code directly inside a standard .NET application written in C#/VB.NET: look at this simple example and KNet APIs extensibility.

JCOBridge resources

Have a look at the following JCOBridge resources:

KAFKA is a registered trademark of The Apache Software Foundation. KNet has no affiliation with and is not endorsed by The Apache Software Foundation.

Popular Kafka Projects
Popular Apache Kafka Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
C Sharp
Scala
Kafka
Apache Kafka
Confluent
Kafka Streams
Kafka Connect
Kafka Consumer
Kafka Producer
Kafka Client
Kafka Connector