Skip to content

BEagle1984/silverback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,582 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Silverback

Silverback 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.

Why Silverback

  • Kafka-first, not Kafka-only – a consistent API across brokers, while still leveraging Kafka-specific capabilities.
  • Reliable by design – transactional outbox, error policies, and storage-backed features.
  • Operational usability – structured logging, diagnostics, and tracing.
  • Built-in cross-cutting features – headers, validation, encryption, chunking, batching.
  • Testability – in-memory broker mocks and end-to-end helpers.

Documentation, guides, and samples are available here: https://silverback-messaging.net

Project Status

Continuous Build

Continuous Build Status Tests Status (release/5.0.0)

Sonar Build

Sonar Build Status

Quality Metrics

Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Lines of Code Coverage Duplicated Lines (%)

Bugs Code Smells Vulnerabilities Technical Debt

Activity

GitHub bugs GitHub issues GitHub pull requests GitHub last commit

Getting Started

Silverback is modular – reference only what you need.

Packages

Core:

Broker integration:

Optional features:

Storage (for outbox, client-side offsets, distributed locks):

Testing:

Supported .NET Versions

Starting with v5, Silverback targets the latest .NET LTS version only.

Quick Example (Kafka)

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"))));

Usage

See the docs site for guides, API reference, and runnable examples:

Contributing

See CONTRIBUTING.md.

License

MIT License. See LICENSE.

About

Silverback 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.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages