Raduz.KafkaClient.Contracts
4.0.2
See the version list below for details.
dotnet add package Raduz.KafkaClient.Contracts --version 4.0.2
NuGet\Install-Package Raduz.KafkaClient.Contracts -Version 4.0.2
<PackageReference Include="Raduz.KafkaClient.Contracts" Version="4.0.2" />
paket add Raduz.KafkaClient.Contracts --version 4.0.2
#r "nuget: Raduz.KafkaClient.Contracts, 4.0.2"
// Install Raduz.KafkaClient.Contracts as a Cake Addin #addin nuget:?package=Raduz.KafkaClient.Contracts&version=4.0.2 // Install Raduz.KafkaClient.Contracts as a Cake Tool #tool nuget:?package=Raduz.KafkaClient.Contracts&version=4.0.2
| _ \ / \ | _ | | | |__ / | |/ /__ _ / | | ____ _ / | () ___ _ __ | | / | _ __ | | _ __ __ _ __| | ___
| |) | / _ \ | | | | | | | / / | ' // | |_| |/ / _
| | | | |/ _ \ ' | || | / _ | ' | | '/ ` |/ __| __/ __|
| _ < / ___ | || | || |/ /_ | . \ (| | | < (| | || | | _/ | | | | | || () | | | | || | | (| | (| |_
|| _// __/ ___//()|__,|| ||__,|_|||_|| ||_()_____/|| ||_|| _,|_|_|/
THIS PACKAGE IS ONLY ABSTRACTIONS.. IT WON'T WORK WITHOUT Raduz.KafkaClient.Client, Raduz.KafkaClient.Consumer or Raduz.KafkaClient.Publisher
How to use:
Add settings to your appsettings.json: KafkaClientConsumerConfig - inherits from https://docs.confluent.io/platform/current/clients/confluent-kafka-dotnet/_site/api/Confluent.Kafka.ConsumerConfig.html + MaxConsumeRetryCount count of retries (retry pattern)
KafkaClientProducerConfig - inherits from https://docs.confluent.io/platform/current/clients/confluent-kafka-dotnet/_site/api/Confluent.Kafka.ProducerConfig.html + AllowCreateTopic - create topic, if there is non while publishing
SchemaRegistryConfig https://docs.confluent.io/platform/current/clients/confluent-kafka-dotnet/_site/api/Confluent.SchemaRegistry.SchemaRegistryConfig.html
Register ConfigureKafkaConsumer and ConfigureKafkaPublisher to services container
Publisher is used like:
var publisher = app.Services.GetService<IKafkaPublisher>()!; // or some other way to obtain await publisher.PublishAsync("{TOPIC-NAME}", "{SOME-KEY}", {YOUR-AVRO-OBJECT}, cancellationToken);
For Consumers create handlers for each topic like:
public class YourRequest : KafkaConsumerHandler<{YOUR-AVRO-OBJECT}> { public YourRequest() : base("{TOPIC-NAME}") { } }
In base class is injected IConsumerManager which is singleton managing pause/resume actions for soncumer, so if there is error with your DB f.e. you can pause consuming of all topics
Implement Exception handlers
For Publisher implement IPublisherExceptionHandler
For Consumer implement IConsumerExceptionHandler
Enjoy easily used package 😃
Issues or feature requests report here, please https://github.com/Rades98/Raduz.KafkaClient/issues
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net6.0
- Confluent.SchemaRegistry.Serdes.Avro (>= 1.9.3)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Raduz.KafkaClient.Contracts:
Package | Downloads |
---|---|
Raduz.KafkaClient.Consumer
Package Description |
|
Raduz.KafkaClient.Publisher
Package Description |
|
Raduz.KafkaClient.Client
Easy to use Kafka client using AVRO schema |
GitHub repositories
This package is not used by any popular GitHub repositories.