Messaging Rabbitmq

27 Nov 2017

Dot Net Notts 27 Nov

John Staveley @johnstaveley

Message queuing is becoming an essential part of modern architectures and essential for asynchronous architectures and microservices. In this session will be described the benefits of messaging systems, the software solutions that are available and typical messaging architectures. Examples will be made using Azure Storage Queues, Azure Service Bus and RabbitMQ. This talk is primarily about messaging, however as this session is for tech hipsters, the demos will be done giving an extensive introduction to Azure functions, Azure Resource Manager Templates, .Net Core and Docker.

John’s presentation was introducing Rabbit MQ, messaging and distributed work loads. In the context of work I’ve previously done message queues can help with threading microservices together.

The code for the presentation is here on GitHub johnstaveley/MessagingPresentation.

The slides are here.

Azure Storage Queues

(See also AWS Lambda’s)

Azure Storage Queues are functions as a service, serverless bits of code with an event / trigger and some code to execute in the event of the trigger firing, with bindings to data.

There is a limit of 5 mins processing time so they might not work in all cases.

Azure queue options

There are several Azure options for queues in increasing order of complexity

RabbitMQ, Docker, .NET Core & Kitematic demonstration

RabbitMQ implements the standard AMQP. The demonstration was using the EasyNetQ wrapper to make it easier to work with in C#.

Docker Build Container

Building the Docker image for the RabbitMQ queue applications using a specific version of .NET Core Build to stop “works on my machine” issues.