Service Discovery
Summary: The process of a network-accessible component learning which node it needs to connect to for a specific request.
Sources: chapter6
Last updated: 2026-04-15
In a partitioned database, rebalancing changes the assignment of partitions to nodes. When a client wants to make a request, it needs to know which IP address and port number to connect to. (source: chapter6)
Approaches
- Direct Contact: Clients contact any node (e.g., via round-robin). If that node owns the partition, it handles it; otherwise, it forwards it.
- Routing Tier: All requests go to a routing tier first, which determines the node and forwards the request. The routing tier is a partition-aware load balancer.
- Client-Aware: Clients are aware of the partitioning and connect directly to the appropriate node. (source: chapter6)
Coordination Services
Many systems use a separate coordination service like ZooKeeper to keep track of cluster metadata. Each node registers itself in ZooKeeper, which maintains the authoritative mapping of partitions to nodes. Other actors (routing tier or clients) subscribe to this information. (source: chapter6)