NOTE
5.3 Partition Routing Components
Three ways to locate a partition owner: client-side routing, a dedicated proxy, or server-side forwarding/redirects.
This is a historical learning note and may contain outdated or incomplete understanding.
A partitioned system needs to map a logical partition to its current node. The routing responsibility can live in several places.
1. Client-Side Routing
The client caches partition-to-node metadata and sends requests directly to the owner.
Pros: one network hop after metadata is known; no central data-plane proxy.
Cons: every client library must handle metadata refresh, topology changes, retries, and compatibility.
2. Proxy Routing
Clients send requests to a routing tier, which resolves ownership and forwards them.
Pros: simple clients and centralized policy.
Cons: another network hop and a proxy tier that must scale and remain highly available.
3. Server-Side Routing
A client contacts any cluster node. That node either forwards the request to the owner or returns a redirect/topology hint.
Pros: simple discovery and topology logic stays inside the cluster.
Cons: misrouted requests add latency and internal traffic until clients learn the topology.
Real systems often combine these approaches: clients cache metadata, any server can return corrected ownership information, and proxies may exist at organizational boundaries.