Silverback.Storage.Relational
5.6.0
Prefix Reserved
dotnet add package Silverback.Storage.Relational --version 5.6.0
NuGet\Install-Package Silverback.Storage.Relational -Version 5.6.0
<PackageReference Include="Silverback.Storage.Relational" Version="5.6.0" />
<PackageVersion Include="Silverback.Storage.Relational" Version="5.6.0" />
<PackageReference Include="Silverback.Storage.Relational" />
paket add Silverback.Storage.Relational --version 5.6.0
#r "nuget: Silverback.Storage.Relational, 5.6.0"
#:package Silverback.Storage.Relational@5.6.0
#addin nuget:?package=Silverback.Storage.Relational&version=5.6.0
#tool nuget:?package=Silverback.Storage.Relational&version=5.6.0
Silverback
Simplicity at its core. Flexibility at its peak. Effortless messaging for .NET.
Silverback is a message bus and broker integration library to build event-driven architectures with first-class support for Apache Kafka and MQTT.
Documentation, guides, and samples are available at https://silverback-messaging.net.
Produce and Consume in a Few Lines
Configure the broker connection, the producer and consumer endpoints, and a subscriber. Silverback takes care of serialization, headers, error handling and delivery.
services.AddSilverback()
.WithConnectionToMessageBroker(options => options.AddKafka())
.AddKafkaClients(clients => clients
.WithBootstrapServers("PLAINTEXT://localhost:9092")
.AddProducer(producer => producer
.Produce<OrderCreated>(endpoint => endpoint
.ProduceTo("orders")))
.AddConsumer(consumer => consumer
.WithGroupId("billing")
.Consume<OrderCreated>(endpoint => endpoint
.ConsumeFrom("orders")
.OnError(policy => policy.Retry(3).ThenSkip()))))
.AddSingletonSubscriber<OrderCreatedHandler>();
// Publish: the message is routed to the "orders" topic
await publisher.PublishAsync(new OrderCreated(orderId));
// Consume: the subscriber is invoked for each consumed message
public class OrderCreatedHandler
{
public Task HandleAsync(OrderCreated message) => ...;
}
Follow the Quickstart for a complete, runnable walkthrough.
Why Silverback
- Kafka-first, not Kafka-only – a consistent, fluent API for Kafka and MQTT that still surfaces partitions, keys, tombstones and transactions.
- Reliable by design – transactional outbox, error policies (retry, skip, move) and storage-backed offsets and locks.
- Built for throughput – partition-based parallelism, batch processing, streaming and chunking of large payloads.
- Cross-cutting features – serialization, Schema Registry (JSON, Avro, Protobuf), headers, validation and end-to-end encryption.
- Observable – structured logging, distributed tracing via
System.Diagnosticsand health checks. - Testable – in-memory Kafka and MQTT brokers and testing helpers for fast and reliable end-to-end tests.
Packages
Silverback is modular – reference only what you need.
Core:
- Silverback.Core – message bus and core messaging components.
- Silverback.Core.Model – message semantics for event-driven/CQRS scenarios.
Broker integration:
- Silverback.Integration.Kafka – Kafka support.
- Silverback.Integration.MQTT – MQTT support.
Optional features:
- Silverback.Core.Rx – Rx.NET integration.
- Silverback.Integration.Newtonsoft – Newtonsoft.Json serialization.
- Silverback.Integration.Kafka.SchemaRegistry – Confluent Schema Registry integration (Avro, Protobuf and JSON).
- Silverback.Integration.HealthChecks – health checks for the consumers and the outbox.
Storage (for outbox, client-side offsets, distributed locks):
- Silverback.Storage.PostgreSql
- Silverback.Storage.Sqlite
- Silverback.Storage.EntityFramework
- Silverback.Storage.Memory
Testing:
- Silverback.Integration.Testing – broker-independent testing helpers.
- Silverback.Integration.Kafka.Testing – in-memory Kafka broker.
- Silverback.Integration.MQTT.Testing – in-memory MQTT broker.
Supported .NET Versions
Starting with v5, Silverback targets the latest .NET LTS (Long-Term Support) version only. It can run on newer compatible .NET versions (including STS releases), but older frameworks are no longer targeted or supported.
Documentation
- Quickstart – produce and consume via Kafka in five minutes.
- Guides – setup, message bus, producing, consuming and more.
- Samples – runnable Kafka and MQTT examples.
- Migrating from v4 – step-by-step upgrade guide to Silverback 5.
- FAQ and Troubleshooting – answers to the most common questions.
- API Reference – the complete public API.
The v4 documentation is still available at silverback-messaging.net/v4.
Project Status
Continuous Build
Sonar Build
Quality Metrics
Activity
Repository Solutions and Tools
Solutions
| Solution | Contents |
|---|---|
| Silverback.sln | Library source projects, unit and E2E tests, and code/documentation generators |
| Silverback.Samples.sln | Runnable usage examples; see the samples guide |
| Silverback.Tests.Extended.sln | Interactive testbench, real-broker integration and stress tests, general benchmarks and version comparisons, with references to the library sources |
Testing and Development Tools
| Tool | Purpose |
|---|---|
| Interactive testbench | Windows WPF application for producing messages and managing Docker consumers |
| Integration tests | xUnit tests against real Kafka and MQTT brokers, including stress workloads and diagnostic controls |
| Benchmarks | General performance benchmarks and current-versus-historical Silverback comparisons |
| UpdateOlderVersions.ps1 | Scaffold another historical benchmark project |
| coverage.ps1 | Build and test the main solution with coverage, then generate and open an HTML report |
| docker-compose.yaml | Local Kafka, Schema Registry, MQTT and PostgreSQL infrastructure, with administration UIs |
| nuget/Update.ps1 | Build local Silverback packages for package-based development and samples |
| .NET tool manifest | Repository-local ReportGenerator installation used by the coverage script |
Code and Documentation Generators
The four generator applications are included in the main solution and write generated content to standard output. Shared generator support lives in Silverback.Tools.Generators.Common.
| Tool | Purpose |
|---|---|
| KafkaConfigProxies | Generate Kafka configuration wrappers and builders; also supports Schema Registry configuration |
| MqttConfigProxies | Generate MQTT configuration wrappers and builders |
| Docs.Headers | Generate message-header reference tables |
| Docs.LogEvents | Generate log-event reference tables |
| docs/build.ps1 | Build and serve the DocFX documentation locally; run from the docs directory |
| docs/publish.ps1 | Publish the generated site through a separate gh-pages checkout; supports -NoPush |
Build automation is defined in the main pipeline, the Sonar pipeline, and the samples/extended-tests pipeline.
Community
- Issues – report bugs or suggest improvements.
- Discussions – ask questions and share ideas.
- CONTRIBUTING.md – how to contribute.
License
Silverback is open source, licensed under the MIT License and maintained by Sergio Aquilini. See LICENSE.
| 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
- Confluent.Kafka (>= 2.16.0)
- JetBrains.Annotations (>= 2026.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.14)
- Silverback.Core (>= 5.6.0)
- Silverback.Integration (>= 5.6.0)
- Silverback.Integration.Kafka (>= 5.6.0)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Linq.Async (>= 7.0.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Silverback.Storage.Relational:
| Package | Downloads |
|---|---|
|
Silverback.Storage.EntityFramework
Silverback is a powerful, elegant, and feature-rich message bus for .NET, designed to simplify asynchronous messaging, event-driven architectures, and microservice communication. With seamless integration for Apache Kafka and MQTT, it offers robust features for reliability, consistency, and scalability. This package contains the Entity Framework (Core) based storage implementation based. |
|
|
Silverback.Storage.PostgreSql
Silverback is a powerful, elegant, and feature-rich message bus for .NET, designed to simplify asynchronous messaging, event-driven architectures, and microservice communication. With seamless integration for Apache Kafka and MQTT, it offers robust features for reliability, consistency, and scalability. This package contains the PostgreSql storage implementation. |
|
|
Silverback.Storage.Sqlite
Silverback is a powerful, elegant, and feature-rich message bus for .NET, designed to simplify asynchronous messaging, event-driven architectures, and microservice communication. With seamless integration for Apache Kafka and MQTT, it offers robust features for reliability, consistency, and scalability. This package contains Sqlite storage implementation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.6.0 | 80 | 10/29/2026 |
| 5.5.2 | 1,322 | 9/10/2026 |
| 5.5.1 | 388 | 8/26/2026 |
| 5.5.0 | 178 | 8/16/2026 |
| 5.4.2 | 221 | 8/4/2026 |
| 5.4.1 | 171 | 7/29/2026 |
| 5.4.1-beta.1 | 102 | 7/28/2026 |
| 5.4.0 | 271 | 7/28/2026 |
| 5.4.0-beta.2 | 96 | 7/23/2026 |
| 5.4.0-beta.1 | 98 | 7/22/2026 |
| 5.3.4-beta.1 | 107 | 7/1/2026 |
| 5.3.3 | 198 | 6/1/2026 |
| 5.3.2 | 187 | 6/1/2026 |
| 5.3.2-beta.1 | 105 | 6/1/2026 |
| 5.3.1 | 186 | 5/25/2026 |
| 5.3.0 | 275 | 4/26/2026 |
| 5.2.2 | 163 | 4/26/2026 |
| 5.2.2-beta.6 | 102 | 4/14/2026 |
| 5.2.2-beta.5 | 89 | 4/12/2026 |
| 5.2.2-beta.4 | 93 | 4/11/2026 |