Quickstarter.Kafka.Consumer.Core
1.0.1
dotnet add package Quickstarter.Kafka.Consumer.Core --version 1.0.1
NuGet\Install-Package Quickstarter.Kafka.Consumer.Core -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Quickstarter.Kafka.Consumer.Core" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Quickstarter.Kafka.Consumer.Core" Version="1.0.1" />
<PackageReference Include="Quickstarter.Kafka.Consumer.Core" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Quickstarter.Kafka.Consumer.Core --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Quickstarter.Kafka.Consumer.Core, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Quickstarter.Kafka.Consumer.Core@1.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Quickstarter.Kafka.Consumer.Core&version=1.0.1
#tool nuget:?package=Quickstarter.Kafka.Consumer.Core&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
📦 Quick Starter Kafka Consumer Core Package for .NET
A robust Kafka consumer library for .NET applications. Easily integrate Kafka message consumption with batch processing, background workers, and flexible configuration.
⬇️ Installation
You can install this library directly from NuGet using the .NET CLI:
# Install the package
dotnet add package Quickstarter.Kafka.Consumer.Core
⚙️ Configuration
Add to your appsettings.json:
{
"KafkaConsumerConfig": {
"Topics": ["test-topic"],
"BootstrapServers": "localhost:9092",
"ClientId": "test-consumer",
"GroupId": "test-group",
"SecurityProtocol": "PLAINTEXT",
"BatchSize": 1,
"BatchIntervalInSeconds": 0
},
"KafkaExtraConfig": {
"KafkaTopic2": "topic-2" // for example, if you want to consume from multiple topics
}
}
🚀 Implementation
- Define Your Message Model
// AccountMessage.cs
public class AccountMessage : BaseEntity
{
public string AccountId { get; set; }
public decimal Amount { get; set; }
}
- Create a Consumer Class
// AccountingConsumer.cs
public class AccountingConsumer : KafkaConsumerBase
{
private readonly ILogger<AccountingConsumer> _logger;
public AccountingConsumer(ILogger<AccountingConsumer> logger)
{
_logger = logger;
}
[Consume(Type = typeof(KafkaConsumerConfig), Property = nameof(KafkaConsumerConfig.TopicsAsSingleString))]
private async Task HandleMessages(List<AccountMessage> messages)
{
_logger.LogInformation($"Received message: {message.AccountId} with amount {message.Amount}");
// Process the message
await Task.CompletedTask;
}
}
- Register the Consumer in
Program.cs
// Program.cs
builder.Services
.AddOptions<KafkaConsumerConfig>()
.Bind(builder.Configuration.GetSection(nameof(KafkaConsumerConfig)))
.ValidateDataAnnotations()
.ValidateOnStart();
builder.Services
.AddOptions<KafkaExtraConfig>()
.Bind(builder.Configuration.GetSection(nameof(KafkaExtraConfig)))
.ValidateDataAnnotations()
.ValidateOnStart();
builder.Services
.AddHostedService<BackgroundRunner>()
.AddSingleton<IKafkaConsumerLogic, KafkaConsumerLogic<AccountMessage, AccountingConsumer>>();
✅ Features
- Batch Processing: Configurable batch size and interval
- Multi-Topic Support: Consume from multiple topics
- Graceful Shutdown: Proper cancellation handling
- DI Integration: Works seamlessly with .NET dependency injection
- Flexible Configuration: Strongly-typed config with validation
🛠️ Use Cases
- Event-driven architectures
- Microservices communication
- Real-time data processing
⭐ Give a Star
If you found this Implementation helpful or used it in your Projects, do give it a star. Thanks!
| 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Confluent.Kafka (>= 2.10.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.1)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 289 | 6/9/2025 |
Initial release of the Kafka consumer core package.