// the find
zarusz/SlimMessageBus
Lightweight message bus interface for .NET (pub/sub and request-response) with transport plugins for popular message brokers.
SlimMessageBus is a .NET messaging abstraction that sits in front of Kafka, RabbitMQ, Azure Service Bus, Redis, NATS, MQTT, and others, letting you write consumer/producer code once and swap transports via config. It targets .NET developers building event-driven or microservice architectures who want to avoid vendor lock-in at the application layer. Active development, last pushed yesterday.
The facade pattern actually works here — your domain layer only references the core `SlimMessageBus` package, and the transport is a host-layer concern. The transactional outbox plugin with EF Core DbContext integration is a real time-saver for the guaranteed-delivery pattern. In-memory transport for unit/integration testing without a broker running is practical and well thought-out. The interceptor pipeline gives you clean cross-cutting hooks (logging, validation, retry) without touching consumer code.
644 stars for a library covering this many transports is thin — community momentum is low, which means you're likely to hit an edge case with no Stack Overflow answer and no recent GitHub issue with a fix. The multi-bus / child-bus configuration model adds mental overhead fast once you have more than two transports; the README glosses over how scoping and DI interact across child buses. Request-response over pub/sub brokers (Kafka, EventHubs) is inherently awkward and the docs don't adequately warn you about the failure modes — a crashed handler leaves the caller waiting until timeout with no visibility. SQL transport is listed as 'pending' in the package table but exists in the codebase, which signals incomplete or experimental state with no clear graduation criteria.