3 ms·
One Year of Load Balancing
- chrisandchris 6y agoIt looks like a very simple approach brought them very far. I like that they didn‘t „throw money“ at a problem they did not really have (maybe some expensive hardware or some AWS ELB would have worked too) and solved it in a simple way which worked very good for them. And is it just me or do these cats pictures feel misplaced in such a blog post?
- kevincox 6y agoThe primary problem of DNS load balancing is that DNS is cached, which is not what you want for load balancing. However the solution here is to use SRV records. I wonder if we will ever be able to use SRV records for HTTP. This way even if the response is cached and served to all of backend servers the application can still round-robin as it knows about the available servers. I also wonder if it would make sense to add some standardized load-balancing headers to HTTP. For example I can imagine a `Prefer-Other` header that suggested another peer that should be used for future requests or more simply just told it to use another peer if it was aware of any. (for example an A or SRV lookup returned multiple servers) If we want to get even fancier we could do something like return `Load: [0-1]` which the client can use to load balance when it is connected to multiple servers. It should prefer sending most of its load to the least loaded server. There would be a lot of details to work out but it seems that some basic primitives could go a long way.
- jlokier 6y ago> I wonder if we will ever be able to use SRV records for HTTP. It is being planned as we speak! :-) There's the ALTSVC proposal, now replaced by the SVCB and HTTPSSRV proposals: https://tools.ietf.org/html/draft-ietf-dnsop-svcb-httpssvc-03 https://tools.ietf.org/html/draft-ietf-dnsop-svcb-httpssvc-0... It has a higher chance of being adopted than previous use of SRV records, because it will speed up HTTP/3 by removing a round trip to query a HTTP server to check for HTTP/3.
- deleted 6y ago[deleted]