Home

Awesome

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 pageDocumentation<a href="https://github.com/tenor/RestBus.Examples" target="_blank">Example Projects</a>

Getting Started

You can:

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

Benchmarks

One Way RPC Test Results

For more benchmarks, see <a href="https://github.com/tenor/RestBus.Benchmarks" target="_blank">the RestBus.Benchmarks project</a>.

License

Apache License, Version 2.0