Instead of a central LB, clients choose backends directly. The client fetches the server list from service discovery and applies load balancing logic locally.
Benefits: eliminates LB as bottleneck, reduces latency (one fewer hop). Used in gRPC with client-side LB policies. Ribbon (Netflix) popularized this pattern. Requires client library support.