The servers were drowning. Connections spiked, CPU hit the ceiling, and sync jobs lagged behind by hours. The fix wasn’t more hardware. It was a load balancer tuned for rsync at scale.
Why Load Balancer + Rsync Works
Rsync is fast, reliable, and incremental. But it’s still a single-node process, so high-traffic environments choke when too many sync operations hit one machine. A load balancer spreads these requests across multiple servers, preventing I/O bottlenecks and allowing near-real-time file synchronization without killing performance.
Architecting the Stack
Put a TCP-aware load balancer in front of your rsync nodes. Configure it for session persistence only if needed. Distribute requests based on CPU and I/O metrics, not just round-robin. Use health checks that hit a lightweight rsync command to verify availability. This removes failing nodes from rotation instantly.
Security Layering
Don’t expose rsync directly to the world. Wrap it in SSH, enforce strong keys, and manage access lists on all participating nodes. Terminate TLS on the load balancer if combining with rsync-over-SSH in hybrid workflows. Logging at the load balancer level is critical for tracing transfer histories under heavy load.