Distributed Lock Service  ·  View 07 of 26  ·  3 · Structure

Container Architecture

The deployable units, their replica counts, and the dedicated etcd nodes they commit to.

Editable source SVG draw.io All views
Kubernetes · lock-system namespace Access tier Envoy fan-in 6 replicas Coordination tier Lock arbiter 9 replicas Admin API 2 replicas Dedicated etcd nodes · local NVMe Lock log · coord 5 members Lock log · entity-01 3 members Evidence tier Audit tailer 1 per cluster Audit store ClickHouse Client library in caller pod Guarded resource checks token gRPC mTLS Txn watch batch write + token Container Architecture Interface / broker Application we own Data store External / third party synchronous event / async batch etcd members run on tainted, dedicated nodes (view 19). The Admin API holds a delete-only etcd role; its path is on views 24 and 25. v 1.0 · owner Platform Architecture · date 2026-09

Decisions

  • etcd runs on dedicated nodes with local NVMe, not on shared Kubernetes workers with network storage. The fsync latency of the slowest acknowledging member is every grant's latency.
  • Nine arbiter replicas behind six Envoy replicas. Envoy ring-hashes on the lock key, so all waiters for one key queue on the same arbiter and in-memory FIFO order means something.
  • One audit tailer per etcd cluster, singleton by its own coord-cluster lease. Two tailers would double-insert; ClickHouse deduplicates on revision, so a brief overlap during failover is harmless.

Sizing assumptions

  • Entity cluster: 12,000 writes per second steady, 30,000 burst, on three members with enterprise NVMe. To be confirmed by benchmark before build, not taken from a vendor chart.
  • Arbiter: roughly 4,000 requests per second per replica at under 2 ms of added latency, dominated by TLS and the etcd client, not by lock logic.
  • etcd backend quota raised to 8 GB against a live state held under 2 GB.

Risks

  • A noisy neighbour on an etcd node. Nodes are tainted for etcd only, CPU is pinned, and the WAL disk carries nothing else.