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 extensions for Microsoft.Extensions.Diagnostics.HealthChecks to monitor the connection to the message broker.
$ dotnet add package Silverback.Integration.HealthChecksSilverback is a message bus and broker integration library for .NET. It helps you build event-driven architectures and asynchronous workflows with first-class support for Apache Kafka and MQTT.
Silverback aims to be both high-level (consistent configuration and developer experience) and broker-aware. Kafka is a first-class citizen: features like partition-based parallelism, keys/partitioning, tombstones, Schema Registry integration, idempotency, and transactions are surfaced where they matter, instead of being abstracted away.
Documentation, guides, and samples are available here: https://silverback-messaging.net
Silverback is modular – reference only what you need.
Core:
Broker integration:
Optional features:
Storage (for outbox, client-side offsets, distributed locks):
Testing:
Starting with v5, Silverback targets the latest .NET LTS version only.
services.AddSilverback()
.WithConnectionToMessageBroker(options => options.AddKafka())
.AddKafkaClients(clients => clients
.WithBootstrapServers("PLAINTEXT://localhost:9092")
.AddProducer(producer => producer
.Produce<MyMessage>(endpoint => endpoint.ProduceTo("my-topic")))
.AddConsumer(consumer => consumer
.Consume<MyMessage>(endpoint => endpoint.ConsumeFrom("my-topic"))));
See the docs site for guides, API reference, and runnable examples:
See CONTRIBUTING.md.
MIT License. See LICENSE.