What’s New in Aeron: Key Features and Enhancements over the past 6 months

You missed our latest Aeron Community MeetUps in May 2024? Not a problem. Aeron has been at the forefront of low latency messaging systems, and the latest updates continue to push the envelope. Over the past six months, Aeron has delivered two notable releases, 1.43.0 and 1.44.0, aimed at improving performance, configurability, and ease of use. In this blog post, we will explore some of the most significant additions and enhancements that have been introduced, and what they mean for your applications.

Discover Aeron 1.43.0 and 1.44.0 enhancements including:

Introducing Response Channels

One of the most anticipated features in Aeron 1.44.0 is the introduction of response channels, a long-requested capability. Traditionally, Aeron required a separate publication and subscription pair for bi-directional communication, which posed challenges, especially in dynamic environments like clusters. The new response channels simplify this, even in scenarios complicated by network address translation (NAT).

The response channels feature makes it possible to set up the return channel by specifying a control endpoint of the server instead of the endpoint on the client. Because Aeron channels are unidirectional, in order to get bi-directional communication two channels are required, one for each direction. In this case we have a channel that flows from client to server, which we refer to as the request channel. The channel that sends data back from the server to the client is the response channel.

This feature is still labeled as experimental, giving the developers flexibility to refine it based on user feedback and real-world application.

Handling slow consumers

Another improvement comes in the form of handling slow consumers . Previously, if a consumer lagged behind, messages beyond its receiver window would be dropped, necessitating reconnection or retransmission. The new approach introduces additional buffering on the subscription side, allowing for temporary lapses without data loss. This change is particularly useful in environments where transient delays are common, although it is not a substitute for consistently slow consumers, for which using an archive with rate adaptation is recommended.

Asynchronous DNS Resolution

Asynchronous DNS resolution has historically been a pain point, with delays causing significant issues in the conductor thread. Such issues caused by the stalls on the conductor thread can cause various problems ranging from increased tail latency on the messages sent via Aeron to client timeouts and disconnects which in turn might cause other components to shutdown. Aeron 1.44.0 addresses this by offloading DNS resolution to a background thread, ensuring that the conductor thread remains responsive. This change is especially beneficial in cloud environments where DNS queries can take several seconds.. By handling DNS asynchronously, Aeron ensures smoother operation and reduces the likelihood of timeouts and other related issues.

The recent releases have also focused on improving the observability and debugability of Aeron. New features like named clients in Aeron Stats, enhanced logging with Aeron Agent, and detailed snapshot duration tracking provide deeper insights into system performance and behavior. These enhancements make it easier to diagnose issues and optimize configurations, thereby improving overall system reliability and efficiency.

What’s next for Aeron?

Looking ahead, Aeron plans to drop support for JDK 8 and 11, reflecting a shift towards more modern Java versions. Future developments will integrate response channels across the Aeron stack, including in the archive and cluster components, to further simplify configurations. Additionally, a new premium feature is in the works to manage disk space by cleaning up old log and snapshot data. These upcoming changes promise to make Aeron even more robust and user-friendly, catering to the evolving needs of high-performance messaging systems.

Join our next Aeron Community MeetUps

Our community is growing fast, and the MeetUps we are hosting in Spring & Fall are becoming an annual meeting point where Aeron creators, developers and users of our technology, exchange views, share the latest developments and expose challenges they are facing. Together we are building Aeron into one of the best low latency messaging systems. Register now and don’t miss out. Our guest speakers for the next edition will leave no one indifferent!