Easy, Service Oriented, Asynchronous Messaging and Queueing for .NET
Clone or download
Latest commit 283671e Jan 27, 2016


Build status

Easy, Service Oriented, Asynchronous Messaging and Queueing for .NET

RestBus is a high performance library for RabbitMQ that lets you consume ASP.NET Core (ASP.NET 5), Web API and ServiceStack service endpoints via RabbitMQ.

Sending a message is as easy as:

var amqpUrl = "amqp://localhost:5672"; //AMQP URI for RabbitMQ server
var serviceName = "samba"; //The unique identifier for the target service

var client = new RestBusClient(new BasicMessageMapper(amqpUrl, serviceName));

//Call the /hello/random endpoint
var response = await client.GetAsync("/hello/random");

where /hello/random is an ordinary web service endpoint in an ASP.NET Core, Web API or ServiceStack service.
RestBus routes the request over RabbitMQ, invokes the endpoint and returns the response, without ever hitting the HTTP transport.

Home page Documentation Example Projects

Getting Started

You can:

  1. Use the Getting Started Guide.
  2. Clone this repo.
    Open RestBus.sln in Visual Studio 2015.
    Restore Nuget packages.
    Run the Examples project.


One Way RPC Test Results

For more benchmarks, see the RestBus.Benchmarks project.


Apache License, Version 2.0