Rebus is a free .NET “service bus” – i.e. it is an implementation of several useful messaging patterns, which have turned out to be immensely useful for implementing asynchronous messaging-based communication between the components of an application.
It does some nice things because it provides
Rebus can be used both internally in an application to coordinate things and to queue up work, making the application more robust towards high loads and more capable of handling long-running processes that might consist of several discrete steps.
It can also be used in bigger integration scenarios, where it will usually connect systems using pub/sub messaging and coordinate integrations at the periphery.
Since some of the transports can trivially “cross the borders of your firewall” (like e.g. by leveraging Azure Service Bus), it can also be used as the glue between your internal systems and those you have chosen to host in the cloud, making for a great way to build hybrid cloud applications.
If you would like to read some more about it, there’s also a documentation wiki on GitHub.
Rebus is absolutely FREE to use, without any kind of limitations. It will stay that way forever.
The open source bits of Rebus are supported by Rebus.fm – this includes all of the NuGet packages sourced from the official Rebus repository.