CodeNode •London•

The 4th edition of RabbitMQ Summit took place as a hybrid event, both in person (CodeNode venue) and virtually, on 16th September 2022 and brought together some of the world's biggest companies, using RabbitMQ, all in one place. You can still take part in two workshop-style courses that provide hands-on learning experiences, for beginner and experts. See the Register section below.

RabbitMQ continues to be the most widely deployed open source message broker, used by over 35,000 companies worldwide. It is the de facto standard for cloud messaging and the leading implementer of Advanced Message Queuing Protocol (AMQP), as well as supporting a host of other protocols, including MQTT and STOMP.

Interested in becoming a sponsor for next edition? Send us an email to info@codesync.global and we will get back to you with a sponsorship brochure.

image
Training:

Beginner in-person OR virtual training

Zero to Hero RabbitMQ

In-person: Sept 13, 9am-5pm BST
Virtual: Oct 3, 9am-5pm BST
Trainer: Lajos Gerecs

The RabbitMQ Zero to Hero Training is an intense one-day crash course into setting up and using a production-ready RabbitMQ. The course covers the basics of messaging and provides practical examples with hands-on exercises.

More info

Training

Advanced in-person training

RabbitMQ Advanced

In-Person: Sep 14-15, 9am-5pm BST
Virtual: Oct 4-5, 9am-5pm BST
Trainer: Gabor Olah

Take a deep, 2-day dive in understanding the internals, components, design and implementation of RabbitMQ. More suited to senior engineers, this advanced workshop will walk you through critical RabbitMQ Erlang/OTP based internals, from aspects such as boot procedures to messaging operations and components which are usually hidden from general RabbitMQ users and operators, this training will stretch your understanding of RabbitMQ to the underlying designer and implementer’s perspective.

More info

image

Register for virtual training in October 2022

Keynote Speakers

Lukas Larsson

Erlang VM Core Committer @ Erlang Solutions

Talk: Keynote: Erlang powered Rabbits

Karl Nilsson

RabbitMQ core team member @ VMware

Talk: Keynote: Quorum Queues: a retrospective

Speakers

Ed Byford

RabbitMQ Product Lead @ VMware

Talk: Update from RabbitMQ team

Howard Twine

Senior Product Manager @ VMware

Talk: Update from RabbitMQ team

Arnaud Cogoluègnes

Software engineer, RabbitMQ team @ VMware

Talk: What's New in RabbitMQ Streams?

Andrew Cook

Engineering Team Lead @ Enterprise Trading Platform at Bloomberg

Talk: Managing RabbitMQ Usage at Scale for Bloomberg’s Trading Systems

Carl Hörberg

CEO @ 84codes

Talk: Write fast, reliable, and secure clients!

Stefan Moser

Principal Engineer @ AWS, Amazon MQ

Talk: How to Safely and Reliably Upgrade Your RabbitMQ Cluster While Maintaining 100% Uptime

Michael Klishin

RabbitMQ contributor of 12 years @ VMware

Talk: An update on Khepri adoption in RabbitMQ

Diana Parra Corbacho

Staff Engineer @ VMware

Talk: An update on Khepri adoption in RabbitMQ

Gavin Roy

CTO @ AWeber Communications

Talk: How We Rabbit at AWeber

Gabor Olah

RabbitMQ Consultant @ Erlang Solutions

Talk: Pushing RabbitMQ to the limit

Rob Barnes

Senior Developer Advocate @ HashiCorp

Talk: Zero Trust RabbitMQ with HashiCorp Vault

Johan Rhodin

CCO @ 84codes

Talk: Why does RabbitMQ stop and what can be done about it

Rohini Senthil

Software Engineer @ McKinsey & Company

Talk: Management, Monitoring and Tracing in RabbitMQ

David Ansari

Software Engineer @ VMware

Talk: RabbitMQ Performance Improvements

Michal Kuratczyk

Staff Engineer @ VMware

Talk: RabbitMQ Performance Improvements

Lovisa Johansson

CMO @ 84codes

Talk: Fun, interesting and common RabbitMQ use cases

David Ansari

Software Engineer @ VMware

Talk: RabbitMQ Performance Improvements (continues)

Michal Kuratczyk

Staff Engineer @ VMware

Talk: RabbitMQ Performance Improvements (continues)

Iliia Khaprov

Software Engineer @ RabbitMQ Team, VMware

Talk: Approaching cloud-native RabbitMQ

Schedule in British Summer Time

16 September 2022

Registration

Welcome and introduction

 

Keynote: Erlang powered Rabbits

Lukas Larsson

Erlang is a programming language designed to make it easier to handle many parallel interactions. It was originally intended for usage in telecom, but has since spread to messaging, databases, fintech systems, and message brokers such as RabbitMQ. Join me as we explore what makes Erlang uniquely suited for solving the problems in these domains, and what RabbitMQ does to leverage its strengths.

 

Update from RabbitMQ team

Ed Byford & Howard Twine

 

Break

What's New in RabbitMQ Streams?

Arnaud Cogoluègnes

RabbitMQ 3.9 introduced streams, a new log-type data structure. What is the state of RabbitMQ Streams after one year of existence? Feedback from users helped stabilize and optimize it. The ecosystem grew with new client libraries in several programming languages. But streams are far from feature-complete: super streams, to scale out publishing and consuming, and single active consumer, to handle consumer concurrency, are the two major features coming up. Join this session to find out about the present and future of RabbitMQ Streams!

Managing RabbitMQ Usage at Scale for Bloomberg’s Trading Systems

Andrew Cook

Learn how Bloomberg's Order Management Systems (OMS) leverage RabbitMQ! We'll talk about how we use RabbitMQ for OMS applications. As you can imagine, these systems require particularly complex topologies in order to satisfy critical service-level requirements related to performance, reliability, scalability, and client isolation. The evolution of our OMS topologies posed some common problems. As these systems grew and evolved, virtual hosts became bloated. Workflows that started as simple publisher/consumer pipelines required more steps inserted. Connection strings needed to be changed to adopt amqpprox – a proxy for the RabbitMQ brokers. To solve these and other challenges, we needed a system that could easily coordinate changes to the way large numbers of applications use RabbitMQ. We will share how we did this by developing a configuration system that drives our applications’ interactions with the broker, while maintaining the flexibility of a loosely-coupled system.

Write fast, reliable, and secure clients!

Carl Hörberg

The RabbitMQ website has over 70 clients listed, so there is naturally a vast array of client libraries. Among these, there are several great, unofficial clients developed by the RabbitMQ community, so what could go wrong? As we aim to deliver the best possible clients, we need to be sure to keep everything above-board and high quality. Carl Hörberg (CloudAMQP) has contributed to several client libraries lately, including the amqp-client for Crystal, the TypeScript client both for Node.js and browsers (using WebSocket), and the amqp-client for Ruby, where the new Ruby client is more than 4 times faster than other Ruby clients. In this presentation, Carl talks about how to write fast clients that are also reliable and secure. He also tells you why he decided to write some new libraries.

How to Safely and Reliably Upgrade Your RabbitMQ Cluster While Maintaining 100% Uptime

Stefan Moser

The RabbitMQ team releases new features, bug fixes and security patches at a blistering pace, but *you* have to upgrade your cluster to take advantage of all the awesome new value. Upgrading a RabbitMQ cluster can be a harrowing adventure full of pitfalls and danger lurking around every corner. But fear not, you are not alone! Based on the experience of keeping a large fleet of RabbitMQ clusters up-to-date and running the latest version of RabbitMQ, we’ll walk through all of the steps that you can take to safely, reliably and triumphantly upgrade your RabbitMQ cluster, all while maintaining 100% uptime!

An update on Khepri adoption in RabbitMQ

Michael Klishin & Diana Parra Corbacho

Khepri, RabbitMQ's next generation schema database, has evolved significantly from the last time it was covered at RabbitMQ Summit. So has RabbitMQ core team's understanding of where it can be adopted before RabbitMQ 4.0. In this talk we will cover the continued evolution of Khepri, what it has to offer to RabbitMQ users, and how soon they can expect Khepri to ship in a GA release.

How We Rabbit at AWeber

Gavin Roy

RabbitMQ is at the heart of AWeber's event-based distributed architecture, responsible for the delivery of over 75,000 messages per second on average. In this talk we will explore how we've use RabbitMQ in production over the last 10 years, including topologies, standards for use, monitoring, day-to-day operational management, and other technologies we use in conjunction to our RabbitMQ usage.

Lunch

Pushing RabbitMQ to the limit

Gabor Olah

One of the most frequent questions I’m asked about RabbitMQ is whether it can do a specific throughput. My answer is almost always is that it depends. In this talk I will explain what affects RabbitMQ performance through practical examples. I will give a practical introduction to how to use PerfTest, the “official” performance testing tool for RabbitMQ to simulate different workloads over different topologies.

Zero Trust RabbitMQ with HashiCorp Vault

Rob Barnes

Securing RabbitMQ in a Zero Trust environment has multiple layers that need consideration. The first is implementing the principle of least privileged access to RabbitMQ, and the second is ensuring the confidentiality and integrity of application data. Both of which are difficult challenges to solve and introduce substantial operational overheads. In this demo-driven talk, I will show how you can use HashiCorp Vault to offset the operational overhead of Identity and Access Management. I will also show you how you can use HashiCorp Vault’s API to implement a simple workflow that offsets the complexity of cryptography to Vault. By the end of this talk, you will learn how to configure Vault using Terraform to broker application identity on behalf of RabbitMQ and refactor a simple Go application to implement this authentication workflow. You will also learn how to implement symmetric and asymmetric encryption of your application data before placing it on RabbitMQ message queues.

Why does RabbitMQ stop and what can be done about it

Johan Rhodin

Depending on a certain number of factors, the job of a support engineer for CloudAMQP may vary. Every now and then RabbitMQ stops, and Johan has to work quickly to get it up and running, and after that, he needs to make bug reports, sometimes build features around it, and educate other customers. In this talk, Johan will walk you through the most common issues, and how he troubleshoots them, and he will share knowledge gained from mistakes made by us, customers, and the community through his own experience.

Management, Monitoring and Tracing in RabbitMQ

Rohini Senthil

This session presents a walkthrough of RabbitMQ's Management Plugin and Firehose Tracer, highlighting how they help in addressing the difficulties faced while introducing external monitoring, by providing management and tracing capability in RabbitMQ nodes. As this capability is often crucial to the overall development and debugging process, this session will also showcase a live-coding on how they can be leveraged in building custom tools for monitoring & tracing, tailored to an application’s need. To demonstrate the potential of building custom tools the session will close with a small demo of Rabbitrace, a custom management extension built by the speaker.

RabbitMQ Performance Improvements

David Ansari & Michal Kuratczyk

An ideal message broker allows for high throughput and low latency while keeping hardware resource usage as low as possible. This talk presents tooling that helps improve RabbitMQ performance. We provide examples of how we spotted and fixed bottlenecks in the RabbitMQ broker. We show how you can leverage these tools to profile and further optimise the broker given your specific application workload.

Fun, interesting and common RabbitMQ use cases

Lovisa Johansson

We as human beings have always sought ways to communicate, even when there have been distances between us. The same need exists in the computer world - a method to send, receive, and create the message itself. Despite that, I often get the question; “Where would a message queue fit in my architecture?” Get ready for an answer to that question from the lens of common RabbitMQ use cases that are understandable no matter where you are or what language you’re speaking.

RabbitMQ Performance Improvements (continues)

David Ansari & Michal Kuratczyk

Approaching cloud-native RabbitMQ

Iliia Khaprov

In this talk we explore RabbitMQ as a centerpiece of serverless/cloud technologies. Using Knative RabbitMQ integration as an example we will learn about Serverless, Cloudevents ecosystem, Observability frameworks and OpenTelemtry Messaging Semantic Conventions.

Break

Keynote: Quorum Queues: a retrospective

Karl Nilsson

Quorum Queues were release in RabbitMQ 3.8 in October 2019 and in 3.10 received a whole bunch of requested features such as message TTL and at-least-once dead lettering. This session will look back at the history of Quorum Queue development and look at the various design decisions that were taken and discuss what worked and what didn't and what the future may look like.

 

Lightning Talks

 

Drinks

Become a Sponsor

Want to know more? Contact us now

Explore our sponsorship possibilities and receive our sponsorship brochure by sending us an email:

Code of Conduct

All attendees, speakers, sponsors, and volunteers at our conference are required to agree with and follow the code of conduct.

We are dedicated to providing a harassment-free conference experience for everyone, regardless of gender identity, sexual orientation, disability, physical appearance, body size, race, religion.. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue.

Participants asked to stop any harassing behavior are expected to comply immediately.

We expect participants to follow these rules at all conference venues and conference-related social events.