Skip to content

Latest commit

 

History

History
75 lines (55 loc) · 3.5 KB

README.md

File metadata and controls

75 lines (55 loc) · 3.5 KB

Burrow

Burrow.NET, Release 1.0.x (since Mar 12, 2012)

##1. INTRODUCTION

This project is created based on the idea of EasyNetQ, since Mike Hadlow used MIT licence, I hope he doesn't mind when I use his source code in this project.

I was so lucky to have 2 chances to work with RabbitMQ in my 2 recent projects. EasyNetQ is the library I looked into at first place. Honestly, It's a good implementation, the author covered many problems he got with RabbitMQ and I learnt from that as well. However, I created this project for below reasons:

  • I need an easier & flexible way to define Exchange names and Queue names.
  • I want to use Fanout Exchange and I don't need the library so smart to create Exchanges/Queues automatically which EasyNetQ was doing.
  • I want the messages to be consumed parallel.
  • I need more flexibilities to inject behaviors for logging, error handling, object serializing, etc.
  • And I want to be busy :D

Alright, to publish a message, you just need something like:

var tunnel = RabbitTunnel.Factory.Create();
tunnel.Publish(new OrderDetail
{	
    Name = "IPad 3",
    Color = "Black",
    Amount = 1	
});

To subscribe:

var tunnel = RabbitTunnel.Factory.Create();
tunnel.SubscribeAsync<OrderDetail>("SubscriptionKey", msg =>
{
    // Process message here
});

Ofcourse you're gonna need a connection string to RabbitMQ server, exchange and queue defined to make it work. Please go to document page for more details how to run the test projects.

Beside Burrow.NET, I have implemented Burrow.Extras and Burrow.RPC which provide some utilities to play with RabbitMQ using C# such as priority queue implementation and RPC.

##2. WHERE TO START?

  • Install RabbitMQ
  • Create exchange (type *direct): Burrow.Exchange
  • Create queue: Burrow.Queue.BurrowTestApp.Bunny
  • Bind above queue to exchange Burrow.Exchange
  • Get latest source code
  • Run Burrow.Publisher to publish messages
  • Run Burrow.Subscriber to subscribe messagages asynchronously from the queue.

##3. DOCUMENT

Documentation can be found at github wiki page: https://github.com/vanthoainguyen/Burrow.NET/wiki/Get-started-with-Burrow.NET

Some blog posts:

Nuget library is also added at http://nuget.org/packages/Burrow.NET

##4. LICENCE http://sam.zoy.org/wtfpl/COPYING Troll