Service Discovery — Detailed#
flowchart TB
subgraph Services[Service instances]
A1[Service A pod 1]
A2[Service A pod 2]
B1[Service B pod 1]
end
subgraph Registry
REG[Registry cluster<br/>Consul / etcd / Eureka / ZK]
RAFT[Raft consensus]
KV[(KV store with TTL leases)]
GOSSIP[Gossip / health]
end
subgraph Clients
SDK([Client SDK<br/>watch + cache])
SIDE[Sidecar proxy / Envoy]
DNS[DNS API]
XDS[xDS subscribe]
end
subgraph Health
HC[Active health checks]
PASS[Passive: traffic outcomes]
TTL[Heartbeat TTL leases]
DRAIN[Drain mode]
end
subgraph Mesh[Service mesh integration]
ISTIO[Istio / Linkerd]
SD[xDS service discovery]
MTLS[mTLS identities]
end
Services -. register .-> Registry
Registry --- RAFT
Registry --- KV
Registry --- GOSSIP
Health --> Services
Clients --> Registry
SDK -. cache + watch .-> KV
DNS -. SRV / A .-> KV
XDS --> SIDE
Mesh --- SIDE
classDef client fill:#dbeafe,stroke:#1e40af,stroke-width:1px,color:#0f172a;
classDef edge fill:#cffafe,stroke:#0e7490,stroke-width:1px,color:#0f172a;
classDef service fill:#fef3c7,stroke:#92400e,stroke-width:1px,color:#0f172a;
classDef datastore fill:#fee2e2,stroke:#991b1b,stroke-width:1px,color:#0f172a;
classDef cache fill:#fed7aa,stroke:#9a3412,stroke-width:1px,color:#0f172a;
classDef queue fill:#ede9fe,stroke:#5b21b6,stroke-width:1px,color:#0f172a;
classDef compute fill:#d1fae5,stroke:#065f46,stroke-width:1px,color:#0f172a;
classDef storage fill:#e5e7eb,stroke:#374151,stroke-width:1px,color:#0f172a;
classDef external fill:#fce7f3,stroke:#9d174d,stroke-width:1px,color:#0f172a;
classDef obs fill:#f3e8ff,stroke:#6b21a8,stroke-width:1px,color:#0f172a;
class SDK client;
class SIDE,DNS edge;
class A1,A2,B1,REG,RAFT,GOSSIP,XDS,HC,PASS,TTL,DRAIN,ISTIO,SD,MTLS service;
class KV datastore;
Glossary & fundamentals#
Concepts referenced in this design. Each row links to its canonical page; the tag column shows whether it is a high-level (HLD) or low-level (LLD) concept.
| Tag | Concept | What it is | Page |
|---|---|---|---|
HLD |
Load balancer / GSLB | L4/L7 traffic distribution and failover | load-balancer |
HLD |
Raft / Paxos consensus | replicated state machine via majority quorum | consensus-raft-paxos |
HLD |
Service mesh | sidecar mesh, mTLS, traffic policy | service-mesh |
LLD |
Structural patterns | Adapter, Decorator, Facade, Proxy, Composite | structural-patterns |