You are viewing content from a past/completed QCon -

Presentation: Efficient Fault Tolerant Java with Aeron Clustering

Track: Modern Java Reloaded

Location: Majestic Complex, 6th fl.

Duration: 10:35am - 11:25am

Day of week: Thursday

Level: Advanced

Persona: Architect, Developer, Developer, JVM

This presentation is now available to view on

Watch video

What You’ll Learn

  • Understand the value and practicality of replicated state machines in Java.
  • Hear from a performance expert on building a fast, efficient consensus protocol for a clustering use case.
  • Learn how guaranteed message delivery semantics were achieved using Raft with Aeron clustering.


Distributed systems present a number of challenges. Node failure, unreliable networks, resource starvation, and even the unpredictability of time itself can, and do, make our systems complex and fragile. We deserve and can do better. In this session, we will talk about Aeron Clustering, a new means for deploying replicated state machines in Java. Replicated state machines are just a nice way to deploy elegant business logic. What new options are opened up to Java when you combine the speed and efficiency of Aeron with the consensus model of RAFT you might ask? Come to this talk to understand what a replicated and recorded stream of events can do for your business logic.


What do you want someone to leave your talk with?


The audience should, hopefully, leave with an idea that a lot of systems designed with mutable data structures and mutable state can be implemented in a cleaner and more robust way with replicated state machines that consume a single immutable log of events. And specifically that this model can replace many systems that rely on "guaranteed message delivery" semantics.


 Is this talk only for people implementing clustering using Raft, or will the lessons be transferable to other use cases? 


The key takeaways should be transferable to many systems. Especially systems typically requiring guaranteed message delivery semantics.


What level of experience are you expecting an audience member to have?


No particular experience is assumed. No background with consensus algorithms, Raft, CQRS, etc. An audience member should be comfortable with Java syntax and some basics of communication systems. A little knowledge of messaging systems is helpful, but will not be required.

Speaker: Todd Montgomery

High Performance Consultant and Previously NASA Researcher

Todd Montgomery is a networking hacker who has researched, designed, and built numerous protocols, messaging-oriented middleware systems, and real-time data systems, done research for NASA, contributed to the IETF and IEEE, and co-founded two startups. He currently works as an independent consultant on high performance systems and is active in several open source projects, including Agrona, Aeron, ReactiveSocket, and the FIX Simple Binary Encoding (SBE).

Find Todd Montgomery at