Introduction to KafkaFlow
⚡️ KafkaFlow was designed to build .NET applications on top of Apache Kafka in a simple and maintainable way.
🏗 Built on top of Confluent Kafka Client.
🔌 Extensible by design.
Get started building by installing KafkaFlow or following our Quickstart.
Features
Our goal is to empower you to build event-driven applications on top of Apache Kafka. To do that, KafkaFlow gives you access to features like:
- Multi-threaded consumer with message order guarantee.
- Middlewares support for producing and consuming messages.
- Support topics with different message types.
- Consumers with many topics.
- Serializer middleware with ApacheAvro, ProtoBuf and Json algorithms.
- Schema Registry support.
- Compression using native Confluent Kafka client compression or compressor middleware.
- Global Events Subcription for message production and consumption.
- OpenTelemetry Instrumentation for traces and baggage signals.
- Graceful shutdown (wait to finish processing to shutdown).
- Store offset when processing ends, avoiding message loss.
- Supports .NET Core and .NET Framework.
- Can be used with any dependency injection framework (see here).
- Fluent configuration.
- Admin Web API that allows pause, resume and restart consumers, change workers count, and rewind offsets, all at runtime.
- Dashboard UI that allows to visualize of relevant information about all consumers and managing them.
Join the community
- GitHub: For new feature requests, bug reporting or contributing with your own pull request.
- Slack: The place to be if you want to ask questions or share ideas.
- Stack Overflow: The best place to start if you have a question.
Something missing here?
If you have suggestions to improve the documentation, please send us a new issue.
License
KafkaFlow is a free and open source project, released under the permissible MIT license.