Distributed Messaging System — Setup Consumers and RabbitMQ with Docker in ASP.NET Core

Discuss how to quickly setup a distributed messaging system, including consumers and RabbitMQ with Docker in ASP.NET Core, hopefully, in less than an hour.

Shawn Shi
Geek Culture

--

What Will Be Built (System Diagram by Author)

Background

What is distributed messaging system? A distributed messaging system allows asynchronous processing of messages or workloads in microservices architectures. Such a design decouples the message producers, message consumers and the message transport, allowing the design to be highly scalable. Amazon documentation does a great job explaining the basics. Here is the link.

If you have placed an order on Amazon, you will notice that your order gets submitted almost instantly after validating the payment method. After that, you can walk away and a suite of subsequent events would occur. For example, you get an email confirming your order, the system handling the warehouse and inventory, the system handling shipping, etc..

How do we bring such best practices from Amazon to our own enterprise applications?

Goal

The goal is to quickly set up a distributed messaging system that is ready to receive and…

--

--

Shawn Shi
Geek Culture

Senior Software Engineer at Microsoft. Ex-Machine Learning Engineer. When I am not building applications, I am playing with my kids or outside rock climbing!