Arham.Foundation.Messaging.Kafka
0.6.0-preview.5
dotnet add package Arham.Foundation.Messaging.Kafka --version 0.6.0-preview.5
NuGet\Install-Package Arham.Foundation.Messaging.Kafka -Version 0.6.0-preview.5
<PackageReference Include="Arham.Foundation.Messaging.Kafka" Version="0.6.0-preview.5" />
<PackageVersion Include="Arham.Foundation.Messaging.Kafka" Version="0.6.0-preview.5" />
<PackageReference Include="Arham.Foundation.Messaging.Kafka" />
paket add Arham.Foundation.Messaging.Kafka --version 0.6.0-preview.5
#r "nuget: Arham.Foundation.Messaging.Kafka, 0.6.0-preview.5"
#:package Arham.Foundation.Messaging.Kafka@0.6.0-preview.5
#addin nuget:?package=Arham.Foundation.Messaging.Kafka&version=0.6.0-preview.5&prerelease
#tool nuget:?package=Arham.Foundation.Messaging.Kafka&version=0.6.0-preview.5&prerelease
Arham.Foundation.Messaging.Kafka
Kafka messaging helpers for .NET applications.
Use this package to publish application/domain events to Kafka, discover typed event subscribers, dispatch consumed messages, and add an in-memory outbox with resilience and metrics.
Install
dotnet add package Arham.Foundation.Messaging.Kafka
What It Provides
- Typed Kafka options and Confluent producer/consumer configuration factories.
KafkaEventPublisherfor Arham Foundation application events.- Subscriber discovery for
IEventSubscriber<TEvent>handlers. - Testable Kafka message dispatch without a running broker.
- In-memory outbox primitives, writer, dispatcher, and hosted dispatcher loop.
- Polly publish resilience with retry, timeout, circuit breaker, and outbox fallback.
- Metrics and activity source names under
Arham.Foundation.Messaging.Kafka.*.
Example
using Arham.Foundation.Messaging.Kafka.Config;
services.AddArhamKafka(options =>
{
options.BootstrapServers = "localhost:9092";
options.ClientId = "orders-api";
options.Producer.TopicMappings[nameof(OrderCreated)] = "orders.created";
});
Register consumers when the application should subscribe to Kafka topics:
services.AddArhamKafkaConsumers(subscribers =>
{
subscribers.RegisterServicesFromAssemblies(typeof(OrderCreatedHandler).Assembly);
});
Dependencies
This package references Arham Foundation Core, Arham Foundation Application, Confluent.Kafka, Microsoft.Extensions primitives, and Polly. It does not reference EF Core or MongoDB.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Arham.Foundation.Application (>= 0.6.0-preview.5)
- Arham.Foundation.Core (>= 0.6.0-preview.5)
- Arham.Foundation.Messaging.Abstractions (>= 0.6.0-preview.5)
- Confluent.Kafka (>= 2.14.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Options (>= 10.0.6)
- Polly.Core (>= 8.7.0)
- Polly.Extensions (>= 8.7.0)
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 |
|---|---|---|
| 0.6.0-preview.5 | 326 | 7/5/2026 |
| 0.6.0-preview.4 | 74 | 7/5/2026 |
| 0.6.0-preview.3 | 168 | 6/22/2026 |
| 0.6.0-preview.2 | 104 | 6/19/2026 |
| 0.6.0-preview.1 | 78 | 6/19/2026 |
| 0.6.0-preview.0 | 97 | 6/18/2026 |
| 0.5.0-Preview.0 | 67 | 6/18/2026 |
| 0.4.0-Preview.0 | 84 | 6/18/2026 |
| 0.3.0-Preview.0 | 78 | 6/17/2026 |
| 0.2.0-preview.0 | 184 | 6/17/2026 |
| 0.1.0-Preview.7 | 65 | 6/16/2026 |
| 0.1.0-Preview.6 | 55 | 6/16/2026 |
| 0.1.0-Preview.5 | 1,944 | 6/16/2026 |
| 0.1.0-preview.4 | 76 | 6/13/2026 |
| 0.1.0-Preview.3 | 78 | 6/13/2026 |
0.6.0-preview.5: multitenancy contracts (ITenantScopedEntity, ITenantContextProvider, StaticTenantContextProvider, MissingTenantContextException, CrossTenantWriteException) moved from Arham.Foundation.Persistence.EfCore to Arham.Foundation.Core (namespace Arham.Foundation.Core.Multitenancy) so domain layers can implement the tenant marker without an EF Core dependency. EF enforcement (TenantSaveChangesInterceptor, UseArhamMultitenancy, UseArhamTenantEnforcement) and the PostgreSQL RLS half are unchanged in their packages. Breaking within the 0.6.0 preview line: update usings from Arham.Foundation.Persistence.EfCore.Multitenancy to Arham.Foundation.Core.Multitenancy for the moved types. See CHANGELOG.md and docs/Multitenancy.md.