Round Robin
Sessions are assigned sequentially: member 1, 2, 3, ..., N, 1, 2, ... Each member
receives exactly 1/N of all requests. Ignores server capacity and client affinity.
Simple and predictable but fails hard on heterogeneous hardware.
Source IP Hash
A hash of the client IP modulo the member count selects the backend. The same client
always reaches the same member — useful for stateful applications. Adding or removing
a member reshuffles all client mappings (N change to (N-1)/N of all sessions).
Weighted
Each member receives a share proportional to its weight relative to the total weight
pool. A member with weight=4 gets 4x the sessions of a weight=1 member. Used to model
heterogeneous backend capacity (e.g., a VM vs a bare-metal server).
Consistent Hashing
Members and clients are both mapped onto a circular ring via hashing. Each client goes
to the nearest member clockwise on the ring. Virtual nodes (replicas per member)
improve distribution uniformity. When a member fails, only its sessions move to the
next member on the ring — 1/N sessions disturbed vs. 100% for modulo hashing.