Skip to content

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 EndpointGroup abstraction 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.
Last updated · 200 distilled / 1,178 read