2 ms·
This has been done for 2 decades or more by hashing the connection tuple somehow, e.g. hash(src ip | src port) % number-of-replicas, etc. Naturally it breaks i
by dmw_ng 7y ago
This has been done for 2 decades or more by hashing the connection tuple somehow, e.g. hash(src ip | src port) % number-of-replicas, etc.
Naturally it breaks if replica count changes.
The other option is conntrack but then you have another stateful component that doesn't scale
- tombh 7y agoThat makes sense, though I suppose for a road warrior setup the source IP might change every so often right?
- ignoramous 6y agoWireguard, inspired by MoSH, handles reconnections especially well. I guess, TCP flows tunnled through UDP might be reset depending on which server (behind the load-balancer) is handling them? Cloudflare shared, in some detail, how they load-balance wireguard traffic for roaming-ip and ports: https://news.ycombinator.com/item?id=21070315 https://news.ycombinator.com/item?id=21070315 Usually, I've seen UDP client-affinity set on (source-ip, destination-ip) tuple to handle port changes, but it doesn't help client with roaming-ips.