Epam.Kafka.PubSub
2.0.36
Prefix Reserved
dotnet add package Epam.Kafka.PubSub --version 2.0.36
NuGet\Install-Package Epam.Kafka.PubSub -Version 2.0.36
<PackageReference Include="Epam.Kafka.PubSub" Version="2.0.36" />
paket add Epam.Kafka.PubSub --version 2.0.36
#r "nuget: Epam.Kafka.PubSub, 2.0.36"
// Install Epam.Kafka.PubSub as a Cake Addin
#addin nuget:?package=Epam.Kafka.PubSub&version=2.0.36
// Install Epam.Kafka.PubSub as a Cake Tool
#tool nuget:?package=Epam.Kafka.PubSub&version=2.0.36
Epam.Kafka.PubSub
About
Epam.Kafka.PubSub package provides AddSubscription
and AddPublication
extension methods for KafkaBuilder
. This provides the ability to set up default implementations of IHostedService
to read/write messages to/from kafka and proccess them in batches with:
* Retry mechanism for batch and for entire pipeline.
* Parallel and sequential processing configuration.
* Health checks.
* System.Diagnostics.Metrics for key operations.
* Delayed start, ability to wait for dependencies (e.g. database migrations).
Key Features
- Define
ISubscriptionHandler<TKey, TValue>
interface and provide base abstract classSubscriptionHandler<TKey, TValue>
to simplify creation of batch message processing logic for kafka subscriptions. - Define
IExternalOffsetsStorage
interface to store processed message offsets externally. Default implementation that use EntityFrameworkCore available in related package Epam.Kafka.PubSub.EntityFrameworkCore - Define
IPublicationHandler<TKey, TValue>
interface and provide base abstract classPublicationHandler<TKey, TValue, TEntity>
to simplify creation of batch processing logic for data publishers.
How to Use
Create subscription
Create class derived from SubscriptionHandler<TKey, TValue>
or ISubscriptionHandler<TKey, TValue>
.
Register services and configure subscription.
KafkaBuilder kafkaBuilder = services.AddKafka();
kafkaBuilder.AddSubscription<string, KafkaEntity, SubscriptionHandlerSample>("Sample");
Create publication
Create class derived from IPublicationHandler<TKey, TValue>
.
Register services and configure publication.
KafkaBuilder kafkaBuilder = services.AddKafka();
kafkaBuilder.AddPublication<string, KafkaEntity, PublicationHandlerSample>("Sample")
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. 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 is compatible. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Epam.Kafka (>= 2.0.36)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Polly (>= 8.2.1)
- System.Diagnostics.DiagnosticSource (>= 6.0.0)
-
.NETStandard 2.0
- Epam.Kafka (>= 2.0.36)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Polly (>= 8.2.1)
- System.Diagnostics.DiagnosticSource (>= 6.0.0)
-
net6.0
- Epam.Kafka (>= 2.0.36)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Polly (>= 8.2.1)
- System.Diagnostics.DiagnosticSource (>= 6.0.0)
-
net8.0
- Epam.Kafka (>= 2.0.36)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Polly (>= 8.2.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Epam.Kafka.PubSub:
Package | Downloads |
---|---|
Epam.Kafka.PubSub.EntityFrameworkCore
EntityFrameworkCore implementation for key abstractions defined in [Epam.Kafka.PubSub](https://www.nuget.org/packages/Epam.Kafka.PubSub) |
GitHub repositories
This package is not used by any popular GitHub repositories.