A .NET stream processing library for Apache Kafka, providing a Kafka Streams-like API for building real-time applications.
Streamiz is a .NET stream processing library for Apache Kafka that provides a Kafka Streams-like API for building real-time applications. It enables developers to perform stateful operations, windowing, joins, and exactly-once processing on Kafka topics directly within .NET applications.
.NET developers and engineers building real-time data pipelines, event-driven microservices, or stream processing applications using Apache Kafka.
It offers a native .NET implementation of stream processing concepts, eliminating the need for Java-based Kafka Streams and providing seamless integration with the .NET ecosystem, including extensive SerDes support and monitoring tools.
.NET Stream Processing Library for Apache Kafka 🚀
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a Kafka Streams-like API directly in .NET, eliminating the need for Java interop and leveraging .NET tools and libraries, as evidenced by the extensive NuGet package ecosystem.
Supports stateful operations with RocksDB and in-memory stores, along with tumbling and hopping windows, joins, and exactly-once semantics, mirroring core Kafka Streams features.
Includes built-in SerDes for Avro, Protobuf, and JSON with Schema Registry integration, facilitating schema evolution and data compatibility through separate NuGet packages.
Offers metrics integration with Prometheus and OpenTelemetry via dedicated packages, enabling easy monitoring and observability of stream processing applications.
Lacks support for sliding windows, session windows, and interactive queries, which are available in Java Kafka Streams, as admitted in the comparison table, limiting certain real-time use cases.
Exclusively targets .NET, making it unsuitable for multi-language teams or projects not built on .NET, despite Kafka's language-agnostic nature.
Has a smaller community and fewer third-party integrations compared to the established Java Kafka Streams, which might slow down issue resolution and feature adoption.