Interactive diagram

System architecture

How Aeron Cache fits together — a stateless gateway tier and its transports in front of a RAFT consensus core — and how that same core deploys as three shapes. Click the pieces to explore.

01

Anatomy: stateless gateways over a consensus core

Clients

Edge

Stateless gateway tier · scale freely

Consensus core · fixed

writes → leader · commit on quorum

The two-tier split

Aeron Cache divides into a stateless gateway tier you scale out freely, and a fixed consensus core sized once for fault tolerance. Every gateway is itself an Aeron Cluster client holding one session to the elected leader, multiplexing many end-clients over it. Click any component to see its role.

Scaling splits cleanly: the gateways are Deployments you grow per-interface, the core is a StatefulSet sized once for your failure budget. More on scaling the gateways →

02

Three deployment shapes, one ClusteredService

The same deterministic service runs in three topologies — the trade-off is purely operational. Develop against ephemeral or the all-in-one install, deploy to the 3-node cluster; the business logic is identical.

Gateway Deployments ×N

HTTP · WS · SSE · Aeron

RAFT core · StatefulSet

Leader
Follower
Follower

log + snapshots on PVCs · commit on quorum

Clustered

Full RAFT · highly available

A Kubernetes StatefulSet of 3 replicas running the full RAFT cluster, with the stateless gateways as separate Deployments in front. Survives node loss with no acknowledged-write loss.

Topology
3-node core + scalable gateway tier
Availability
Tolerates loss of 1 node (quorum = 2)
Durability
Replicated log + snapshots on PVCs
Best for
State that must outlive a pod
Launch
make all · Helm (CACHE_MODE=RAFT)

The determinism that makes the single node correct is exactly what makes the cluster consistent — RAFT consensus →

03

Four transports, one cache

The same key-value and counter model is exposed over four interfaces that share one command vocabulary — they differ only in framing, directionality, and how far down the latency curve they reach. Select one to compare.

Client

app · browser · service

HTTP REST

:7070 · /api/v1

Core

RAFT cluster

Port / path
:7070 · /api/v1
Direction
Request → response
Streaming
No
Format
JSON
Flag
Always on

When: CRUD, scripting, tooling — anything that just needs request/response.

Decision shortcut — CRUD or tooling → HTTP. Receive-only in a browser → SSE. Receive-only in a service → uni WebSocket. Commands and subscriptions over one socket → bidi WebSocket. Lowest latency on the JVM or in Rust → Aeron SBE. Full detail in the API overview →