Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Core
  3. Rebus

Rebus

NOASSERTIONC#

A lean service bus implementation for .NET that enables asynchronous communication in microservices following the 'smart endpoints, dumb pipes' principle.

Visit WebsiteGitHubGitHub
2.7k stars378 forks0 contributors

What is Rebus?

Rebus is a lean service bus implementation for .NET that facilitates asynchronous communication between microservices. It acts as the 'dumb pipes' in a 'smart endpoints, dumb pipes' architecture, enabling reliable message passing without imposing complex logic on the messaging layer. The library focuses on simplicity, minimal dependencies, and seamless integration with existing .NET applications.

Target Audience

.NET developers building microservices or distributed systems that require asynchronous messaging and event-driven communication. It's ideal for teams following the 'smart endpoints, dumb pipes' principle who need a lightweight, configurable service bus.

Value Proposition

Developers choose Rebus for its simplicity, minimal overhead, and excellent error messages, which reduce friction in setup and debugging. Unlike heavier enterprise service buses, Rebus stays lean and focused, offering just enough functionality to handle messaging without becoming bloated or complex.

Overview

:bus: Simple and lean service bus implementation for .NET

Use Cases

Best For

  • Implementing asynchronous communication between .NET microservices
  • Building event-driven architectures with reliable message delivery
  • Integrating disparate systems using a lightweight service bus
  • Following the 'smart endpoints, dumb pipes' pattern in distributed applications
  • Reducing dependencies and complexity in messaging layers
  • Scaling .NET applications with decoupled, message-based components

Not Ideal For

  • Enterprises requiring built-in saga management or complex orchestration for long-running workflows
  • Teams that need a fully-managed, cloud-native messaging service with auto-scaling and integrated monitoring
  • Projects demanding ultra-low-latency communication where any service bus overhead is unacceptable
  • Multi-language microservices architectures where non-.NET components need native messaging support

Pros & Cons

Pros

Minimal Dependency Footprint

Depends only on JSON.NET and targets .NET Standard 2.0, ensuring broad compatibility with .NET Framework 4.6.1+, .NET Core, and .NET 5+, while reducing version conflicts.

Intuitive Configuration API

Offers a fluent configuration syntax, as shown in the README with examples for transports like MSMQ and routing, making setup straightforward for common scenarios.

Excellent Debugging Support

Aims to provide the best error messages in the world, which helps in quickly diagnosing issues in distributed asynchronous communication.

Strong Integration Ecosystem

Includes small, dedicated projects for various IoC containers and external dependencies, such as transports and logging, facilitating seamless adoption into existing .NET applications.

Cons

Limited Advanced Features

As a 'dumb pipes' implementation, it lacks built-in support for advanced messaging patterns like sagas, compensation handlers, or complex routing, requiring custom application logic.

Setup Complexity for Non-Standard Use

While basic configuration is simple, integrating with custom transports or serializers can be more involved and may require deeper understanding of the library's internals.

Smaller Community and Tooling

Compared to alternatives like NServiceBus or MassTransit, Rebus has a smaller ecosystem, which might result in fewer third-party tools, plugins, or community-driven resources.

Frequently Asked Questions

Quick Stats

Stars2,660
Forks378
Contributors0
Open Issues23
Last commit21 days ago
CreatedSince 2011

Tags

#service-bus#message-queue#messaging-library#dotnet#ioc-integration#messaging#microservices#c-sharp#net-standard#message-bus#asynchronous-messaging#enterprise-integration

Built With

J
Json.Net
.
.NET Standard 2.0

Links & Resources

Website

Included in

.NET21.2kCore21.2k
Auto-fetched 9 hours ago

Related Projects

MediatRMediatR

Simple, unambitious mediator implementation in .NET

Stars11,858
Forks2,182
Last commit2 months ago
HangfireHangfire

An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required

Stars10,135
Forks1,754
Last commit11 days ago
MassTransitMassTransit

Distributed Application Framework for .NET

Stars7,800
Forks1,975
Last commit3 months ago
CAPCAP

Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern

Stars7,110
Forks1,335
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub