4 ms·
After testing ELB and seeing the scaling issues, we ended up going to a pool of HAProxies + weighted Route53 entries. Route53 does a moderately good job of bala
by mnutt 11y ago
After testing ELB and seeing the scaling issues, we ended up going to a pool of HAProxies + weighted Route53 entries. Route53 does a moderately good job of balancing between the HAProxies, and the health checks will remove an HAProxy if it goes bad. HAProxy itself is rock solid. The first bottleneck we came across was HAProxy bandwidth, so make sure the instance type you select has enough for how much bandwidth you expect to use.
- toomuchtodo 11y agoDo health checks work within a VPC? My understanding was they don't, so this only works for externally facing services. I agree Haproxy is solid, but ELBs are wonderful for internal microservices. If you do decide to use Haproxy for microservices internally, I highly recommend Synapse from AirBnB: https://github.com/airbnb/synapse https://github.com/airbnb/synapse
- frugalmail 11y agoRuby, High Availablity and High Scalability? Despite idempotency, I'm not sure how comfortable I am with that.
- mryan 11y agoSynapse is a service discovery framework. Essentially, it just writes HAProxy config files based on discovered upstreams - it does not receive any requests itself. The scalability is handled by HAProxy.
- frugalmail 11y agoI was under the impression that HAProxy is what it is powering Amazon's ELB service.