RabbitMQ.Client - dotnet core package a day - 10
Overview
This post is part of a series, dotnet core package a day, where for 15 days I will be posting an overview of an awesome OSS dotnet package that already has support for dotnet core. In this post we will cover RabbitMQ.Client.
For those not familiar with RabbitMQ....
RabbitMQ is a message broker. The principal idea is pretty simple: it accepts and forwards messages. You can think about it as a post office: when you send mail to the post box you're pretty sure that Mr. Postman will eventually deliver the mail to your recipient. Using this metaphor RabbitMQ is a post box, a post office and a postman.
The major difference between RabbitMQ and the post office is the fact that it doesn't deal with paper, instead it accepts, stores and forwards binary blobs of data ‒ messages.
RabbitMQ.Client is a dotnet client driver for RabbitMQ. At the time of writing it has 1,330,872 downloads on NuGet. The publish of it's v4.0.0 release to NuGet on the 19th August 2016 added support for dotnet core (.net standard 1.5).
I've not been using RabbitMQ.Client for that long but it does feel a bit disjointed to me, I've seen other people say similar things too. Many people prefer to use distributed application frameworks like NServiceBus and MassTransit on top of RabbitMQ, these make use of the RabbitMQ.Client library but provide a more cohesive experience, in my opinion. The difficulty is that neither are currently available on dotnet core. The team at Particular Software have previously mentioned the MSMQ dependency as one of the stumbling blocks of moving to dotnet core. Even though the experience using RabbitMQ.Client isn't as good for me, it is available now, has dotnet support, and is proving robust so far.
RabbitMQ.Client development is led by the team at Pivotal, it is under active development and there have been contributions from ~30 individuals. The team at Particular Software are also contributors.
What the community thinks
Links
- RabbitMQ Website
- RabbitMQ.Client GitHub
- Getting Started Guide
Alternatives
Massive thanks to the team at Pivotal, and the community.
If you don't want to keep checking back for more posts in this series but do want an email in your inbox then you can subscribe to the mailing list below.