3 ms·
HAProxy has been and continues to be one of my favorite tools because of features like this. Stuff where you might have to start digging around, say, arcane and
by theideaofcoffee 8y ago
HAProxy has been and continues to be one of my favorite tools because of features like this. Stuff where you might have to start digging around, say, arcane and fragile Apache rewrites, becomes a series of surprisingly readable functional-like statements that make reasoning about the implications of those statements easy. Even for HAProxy newbies, they can get going really fast and have the confidence that their changes aren't going to lead to major breakage because of its readability.
Just today I deployed some haproxy acls to transparently partition traffic for new API features off of a customer's main legacy application onto a dedicated cluster of API machines. It still surprises me just how easy doing something like that is. The most difficult part of that process was remembering the business logic--to append a query string value that that API expected to see in the request for this part of the migration. This is completely unlike munging around Apache rewrites and hoping that you didn't leave off a 'L' and make it start looping, or forget to append the query string, stuff like that.
I think that if you work with anything web-facing, regardless of the scale, you'd be well served by learning even HAProxy's most basic features and building from there. You'd be astounded at how far you can get with even a basic configuration.
- phil21 8y agoYep. Obviously I'm a fan of HAProxy based on my post history - but it truly is one of those transformational tools you only come across a few times during a career. It's basically one of those tools you end up looking for problems for it to solve it's so elegant. I have my HAProxy hammer, and everything is a nail! Cannot give Willy and team more kudos!
- theideaofcoffee 8y agoI am the same way, I advocate a lot for replacing legacy LBs (F5? Citrix? blech) and software not really suited for LB functions, a la Apache, with HAProxy. It's working out well so far. Combine that with a nice network and a tasty [EI]GP and be in pure web-serving bliss (of which I've only worked on two networks with that kind of design forethought, which is a shame).