Ayanda Dube

RabbitMQ team lead

Ayanda is a Senior Engineer at Erlang Solutions, working with Erlang/Elixir systems of all sorts, focused mainly on RabbitMQ systems development and support. Taking on the toughest RabbitMQ challenges from across the globe, Ayanda is an expert in not only designing and delivering large-scale systems engineered around RabbitMQ but in the internal implementation and operations of RabbitMQ server as well.

Upcoming Activities

Ayanda Dube
Code Mesh V
Tutorial/ 04 Nov 2020
09.30 - 12.00

Microservices Architecture with RabbitMQ

RabbitMQ is a well proven and popular messaging platform for building fast, efficient Microservice based systems which interact using the Advanced Message Queuing Protocol (AMQP). In this tutorial, I teach you how to design and implement a Microservices Based System Architecture using RabbitM. We build a complete Microservice based system from the ground up, define it's communication primitives over RabbitMQ, do some coding, deploy it on Docker and take it for a test run, all in 1-day! Join us!



Junior, Intermediate, Senior






Software Developers/Engineers/Architects


Experience in at least 1 Programming language of choice



Understand AMQP Messaging Design Principles

  • Understand Designing Microservices 
  • Understand Microservices/Inter-application Communication Principles
  • Understand Asynchronous Messaging Principles Implementing Microservices
  • Understand how to scale Microservices with RabbitMQ



  • AMQP
  • RabbitMQ
  • Microservices Design Principles
  • Asynchronous Messaging Patterns
  • Load Balancing
  • Deployment
  • Scaling
  • Operations and Maintenance

Past Activities

Ayanda Dube
Code BEAM STO 2019
16 May 2019
13.50 - 14.35

Innovative unorthodox design patterns used in RabbitMQ

RabbitMQ messaging broker is over 10 years old, with it's codebase having matured significantly over the past decade. Within it's implementation, we find some of the most innovative usage of the Erlang OTP which attribute to it's well trusted performance, stability and ergonomic friendliness for operators. In this talk, Ayanda illustrates, explains and shares some of these creative internal design patterns used within RabbitMQ. Components such as mirrored-supervisors, decorators, gen_server2, delegates, and much much more!


Introduce the Erlang and Elixir community to innovative, unorthodox design patterns and concepts used in RabbitMQ, which they may learn from, adopt and even make use of in their own system designs.


Erlang and Elixir developers, and any other developers building systems on the BEAM.