SYSTEM Cited by 1 source
Armeria¶
Armeria is an open-source asynchronous microservice framework for the JVM (originally from LINE). Supports HTTP/1, HTTP/2, gRPC, Thrift, and has a pluggable client-side load-balancing and service-discovery layer. Commonly used in Scala and Java monorepos as the RPC framework of choice when teams want first-class LB/observability hooks inside the client library (as opposed to delegating to a sidecar).
Stub page — expand on future ingests.
Why it matters for system design¶
- Client-side LB is a first-class citizen. Armeria's
EndpointGroupabstraction lets you subscribe to xDS, DNS, custom sources, etc., and plug in LB strategies (weighted round-robin, sticky, patterns/power-of-two-choices, etc.). - Hooks for health / outlier detection. Per-endpoint health tracking fits the "bias traffic away from pods with higher error rates" pattern.
- JVM-native. No CGO / FFI; fits cleanly in a Scala or Kotlin monorepo.
- Proxyless fit. Armeria-as-shared-library is the canonical enabler of a patterns/proxyless-service-mesh architecture: every service already links it, so shipping LB/discovery changes is one dependency bump away.
Seen in¶
- sources/2025-10-01-databricks-intelligent-kubernetes-load-balancing — Databricks' predominantly-Scala services use Armeria as the shared RPC framework; the team embedded its custom xDS client + P2C load balancer into Armeria, letting every internal service adopt proxyless, client-side LB via a standard library bump. Explicitly cited as the architectural enabler for not using Istio.