All Projects → LGouellec → Kafka Streams Dotnet

LGouellec / Kafka Streams Dotnet

Licence: mit
.NET Stream Processing Library for Apache Kafka 🚀

Projects that are alternatives of or similar to Kafka Streams Dotnet

Kattlo Cli
Kattlo CLI Project
Stars: ✭ 58 (-66.47%)
Mutual labels:  kafka, kafka-streams
Java Kafka Client
OpenTracing Instrumentation for Apache Kafka Client
Stars: ✭ 101 (-41.62%)
Mutual labels:  kafka, kafka-streams
Kspp
A high performance/ real-time C++ Kafka streams framework (C++17)
Stars: ✭ 80 (-53.76%)
Mutual labels:  kafka, kafka-streams
Kafka Workshop
Materials (slides and code) for Kafka and Kafka Streams Workshop
Stars: ✭ 44 (-74.57%)
Mutual labels:  kafka, kafka-streams
Kafka Tutorials
Kafka Tutorials microsite
Stars: ✭ 144 (-16.76%)
Mutual labels:  kafka, kafka-streams
Tsujun
Yet another Web UI for KSQL
Stars: ✭ 45 (-73.99%)
Mutual labels:  kafka, kafka-streams
Logisland
Scalable stream processing platform for advanced realtime analytics on top of Kafka and Spark. LogIsland also supports MQTT and Kafka Streams (Flink being in the roadmap). The platform does complex event processing and is suitable for time series analysis. A large set of valuable ready to use processors, data sources and sinks are available.
Stars: ✭ 97 (-43.93%)
Mutual labels:  kafka, kafka-streams
Faust
Python Stream Processing
Stars: ✭ 5,899 (+3309.83%)
Mutual labels:  kafka, kafka-streams
Awesome Kafka
A collection of kafka-resources
Stars: ✭ 116 (-32.95%)
Mutual labels:  kafka, kafka-streams
Seldon Server
Machine Learning Platform and Recommendation Engine built on Kubernetes
Stars: ✭ 1,435 (+729.48%)
Mutual labels:  kafka, kafka-streams
Cp Docker Images
[DEPRECATED] Docker images for Confluent Platform.
Stars: ✭ 975 (+463.58%)
Mutual labels:  kafka, kafka-streams
A Kafka Story
Kafka ecosystem ... but step by step!
Stars: ✭ 148 (-14.45%)
Mutual labels:  kafka, kafka-streams
Demo Scene
👾Scripts and samples to support Confluent Demos and Talks. ⚠️Might be rough around the edges ;-) 👉For automated tutorials and QA'd code, see https://github.com/confluentinc/examples/
Stars: ✭ 806 (+365.9%)
Mutual labels:  kafka, kafka-streams
Examples
Demo applications and code examples for Confluent Platform and Apache Kafka
Stars: ✭ 571 (+230.06%)
Mutual labels:  kafka, kafka-streams
Kafka Streams Machine Learning Examples
This project contains examples which demonstrate how to deploy analytic models to mission-critical, scalable production environments leveraging Apache Kafka and its Streams API. Models are built with Python, H2O, TensorFlow, Keras, DeepLearning4 and other technologies.
Stars: ✭ 661 (+282.08%)
Mutual labels:  kafka, kafka-streams
Willa
A Clojure DSL for Kafka Streams
Stars: ✭ 97 (-43.93%)
Mutual labels:  kafka, kafka-streams
Go Streams
A lightweight stream processing library for Go
Stars: ✭ 615 (+255.49%)
Mutual labels:  kafka, kafka-streams
Kafka Streams Course
Learn Kafka Streams with several examples!
Stars: ✭ 625 (+261.27%)
Mutual labels:  kafka, kafka-streams
Kukulcan
A REPL for Apache Kafka
Stars: ✭ 103 (-40.46%)
Mutual labels:  kafka, kafka-streams
Azkarra Streams
🚀 Azkarra is a lightweight java framework to make it easy to develop, deploy and manage cloud-native streaming microservices based on Apache Kafka Streams.
Stars: ✭ 146 (-15.61%)
Mutual labels:  kafka, kafka-streams

.NET Stream Processing Library for Apache Kafka TM · GitHub license · Join the chat at https://discord.gg/J7Jtxum build Nuget Nuget (with prereleases)

Quality Statistics

Sonar Cloud Quality Gate Sonar Cloud Quality Gate Sonar Cloud Reliability Rate Sonar Cloud Security Rate Sonar Cloud Maintainability Rate Sonar Cloud Duplicated Code

Project Statistics

GitHub issues GitHub pull requests


Streamiz Kafka .NET is .NET stream processing library for Apache Kafka.

It's allowed to develop .NET applications that transform input Kafka topics into output Kafka topics. It's supported .NET Standard 2.1.

So this library can be used by >= .NET Core 3.0 and/or .NET 5.0 applications.

It's a rewriting inspired by Kafka Streams. Finally it will provide the same functionality as Kafka Streams.

This project is being written. Thanks for you contribution !

Timeline

  • Begin 2021 - 1.2.0 - Persistent state store (eg: RocksDB Store), Repartition and Changelog topics
  • April 2021 - 1.3.0 - Processor API, Metrics, Interactive Queries, Standby Replica

Documentation

Read the full documentation on https://lgouellec.github.io/kafka-streams-dotnet/

Installation

Nuget packages are listed to nuget.org

Install the last version with :

dotnet add package Streamiz.Kafka.Net

Usage

There, a sample streamiz application :

static async System.Threading.Tasks.Task Main(string[] args)
{ 
    var config = new StreamConfig<StringSerDes, StringSerDes>();
    config.ApplicationId = "test-app";
    config.BootstrapServers = "192.168.56.1:9092";
    config.SaslMechanism = SaslMechanism.Plain;
    config.SaslUsername = "admin";
    config.SaslPassword = "admin";
    config.SecurityProtocol = SecurityProtocol.SaslPlaintext;
    config.AutoOffsetReset = AutoOffsetReset.Earliest;
    config.NumStreamThreads = 2;
    
    StreamBuilder builder = new StreamBuilder();

    var kstream = builder.Stream<string, string>("stream");
    var ktable = builder.Table("table", InMemory<string, string>.As("table-store"));

    kstream.Join<string, string, StringSerDes, StringSerDes>(ktable, (v, v1) => $"{v}-{v1}")
           .To("join-topic");

    Topology t = builder.Build();
    KafkaStream stream = new KafkaStream(t, config);

    Console.CancelKeyPress += (o, e) => {
        stream.Dispose();
    };

    await stream.StartAsync();
}

TODO implementation

  • [X] Global state store
  • [X] Refactor Subtopology & StreamTask assignment
  • [X] Refactor Topology description for corresponding to java implementation
  • [X] Refactor Partition grouper + record queue
  • [X] Statefull processors impl
  • [ ] Transform and Through Processor
  • [ ] Supress Processor (.suppress(Suppressed.untilWindowCloses(Suppressed.BufferConfig.unbounded())))
  • [ ] Rocks DB state implementation
  • [ ] Changelog Topic
  • [ ] Task restoring
  • [ ] Repartition topic
  • [ ] Repartition Processor KAFKA-8611 | PR #7170
  • [ ] Processor API
  • [ ] Sample projects (Micro-services, console sample, topology implementation, etc ..) which use Streamiz package
  • [ ] Optimizing Kafka Streams Topologies
  • [ ] Standby Replica
  • [ ] Interactive Queries
  • [ ] Metrics

Contributing

Owners:

Maintainers:

Streamiz Kafka .Net is a community project. We invite your participation through issues and pull requests! You can peruse the contributing guidelines.

When adding or changing a service please add tests and documentations.

Support

You can found support here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].