Epam.Kafka.PubSub
2.1.55
Prefix Reserved
dotnet add package Epam.Kafka.PubSub --version 2.1.55
NuGet\Install-Package Epam.Kafka.PubSub -Version 2.1.55
<PackageReference Include="Epam.Kafka.PubSub" Version="2.1.55" />
paket add Epam.Kafka.PubSub --version 2.1.55
#r "nuget: Epam.Kafka.PubSub, 2.1.55"
// Install Epam.Kafka.PubSub as a Cake Addin
#addin nuget:?package=Epam.Kafka.PubSub&version=2.1.55
// Install Epam.Kafka.PubSub as a Cake Tool
#tool nuget:?package=Epam.Kafka.PubSub&version=2.1.55
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.1.55)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Polly (>= 8.4.0)
- System.Diagnostics.DiagnosticSource (>= 6.0.0)
-
.NETStandard 2.0
- Epam.Kafka (>= 2.1.55)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Polly (>= 8.4.0)
- System.Diagnostics.DiagnosticSource (>= 6.0.0)
-
net6.0
- Epam.Kafka (>= 2.1.55)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 6.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 6.0.0)
- Polly (>= 8.4.0)
- System.Diagnostics.DiagnosticSource (>= 6.0.0)
-
net8.0
- Epam.Kafka (>= 2.1.55)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- Polly (>= 8.4.0)
NuGet packages (2)
Showing the top 2 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) |
|
Epam.Kafka.PubSub.EntityFramework6
EntityFramework 6 (https://learn.microsoft.com/en-us/ef/ef6/) 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.
Implementation for EntityFramework6 added in Epam.Kafka.PubSub.EntityFramework6 package. Separate summary health checks for subscriptions and publications added. Polly updated to 8.4.0.