Live data from Hacker News

HAProxy 2.4

haproxy.com

51–60 of 70 posts

Re: HAProxy 2.4

#51
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

Looking at the standard haproxy error pages present when using an Azure App Service, you might be surprised to learn that the cloud providers are using haproxy for you, behind the scenes.

Re: HAProxy 2.4

#52
post #50

Earlier quoted context omitted.

Not specific to this release, but for an system architect that is taking the first look ever to the product: - the site does not do a good job of describing the products and what they do. https://www.haproxy.com/products/haproxy-enterprise-edition/ has a download button as the start and tells nothing about the product. - it is hard to find requirements from the first page. ( https://www.haproxy.com/documentation/hape…

How did you get a system architect title while somehow never looking at haproxy in the last.... 15 years?!

Downvote me all you want but “architects” need to look at the solution landscape at least once in 15 years.

Re: HAProxy 2.4

#53
post #52
post #50

Earlier quoted context omitted.

How did you get a system architect title while somehow never looking at haproxy in the last.... 15 years?!

Downvote me all you want but “architects” need to look at the solution landscape at least once in 15 years.

Plenty areas of software where HAProxy is not part of the relevant "solution landscape".

Re: HAProxy 2.4

#54

Earlier quoted context omitted.

They have very nice features that provider's load balancing might not offer you. First to me is the ability to retain the IP address. When using AWS Load Balancer, the LB scale automatically and replace the IP. Second is sophisiciated routing. Example route by cookie. What it buy is that by setting a cookie you can make sure the request hit a specific pool. You can also have concept of backup Third is lots of useful…

Small note - AWS Network Load Balancers maintain the same IP addresses.

That's true, but functionality-wise, they can do much fewer things.

With an application load balancer, you can set up multiple backends, do basic redirections, do OIDC authentication, etc.

With a network load balancer, you can only spread TCP and / or UDP connections.

Re: HAProxy 2.4

#55
post #3
post #2

If I have a cloud provider, why might I use HAProxy over the provider's load balancing solution?

More control, maybe less cost? If your cloudy provider has an awful solution like the one I was using, you'd get better uptime by doing it yourself. I haven't heard many problems with AWS or Google load balancing, but sometimes there's issues where people talk about 'pre-warming'... more control would probably help there. If you're running HAProxy on AWS, be sure your AWS firewall rules are stateless, otherwise you m…

> If you're running HAProxy on AWS, be sure your AWS firewall rules are stateless, otherwise you may well run into the unpublished connection tracking limits.

This.

I got bit by this the other day, a bunch of servers were having very low CPU usage but new connections to them were failing. Turns out it was because they were hitting the conntrack limit. Changing the security group rules to allow all from all "fixed" it.

Although after a quick test, I think there's another limit, also unpublished, as I still can't establish as many connections as I want on a smaller instance – same number of requests on fewer connections works, and also a bigger instance works with many connections. In every case, the CPU was largely unused.

AWS doc regarding the issue: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security...

Re: HAProxy 2.4

#56
post #19

Earlier quoted context omitted.

It has the ability to route by FIX tags. You can find an example here [1] [1] https://www.haproxy.com/blog/haproxy-enterprise-2-3-and-hapr...

Sure, I saw that example. Maybe let me put it a different way: if a client has one inbound FIX connection to HAProxy, can HAProxy connect to N backend servers and send each FIX message from the single client connection to a different backend?

It seems like it could:

  use_backend fix_servers_a if { var(txn.sendercompid) -m str firmA }
    default_backend fix_servers_b
Then "fix_servers_a" could be defined as a round-robin backend.

Re: HAProxy 2.4

#57

Earlier quoted context omitted.

Open tracing sounds nice, what info is passed along?

My question is what conversation has there been re: Opentelemetry, the successor to OT

It sounds like ot is still in beta (but it's a little confusing that they're 1.0 but it has a message saying they're in beta on their main page).

It looks like it's being adopted by a few larger app monitoring products, wondering if datadog will follow suit or if they will stick with open tracing and their custom implementations for logging and metrics. I assume they will support ingestion from ot at some point though. It sounds neat tho, will definitely read up on it more.

Re: HAProxy 2.4

#58

Earlier quoted context omitted.

Open tracing sounds nice, what info is passed along?

You can pass along timing data from every aspect of the request [1] currently there are approximately 20 events supported. You can also send over just about anything that can be stored within an HAProxy variable / header through a tag. Here's an example configuration for HAProxy (simple) [2] (advanced) [3] and the OpenTracing specific configuration (simple) [4] (advanced) [5]. I've included both simple and advanced c…

Yea, it's pretty flexible and you can attach any additional metadata that you want (e.g. app version info, user name).

Re: HAProxy 2.4

#59
post #3

Earlier quoted context omitted.

More control, maybe less cost? If your cloudy provider has an awful solution like the one I was using, you'd get better uptime by doing it yourself. I haven't heard many problems with AWS or Google load balancing, but sometimes there's issues where people talk about 'pre-warming'... more control would probably help there. If you're running HAProxy on AWS, be sure your AWS firewall rules are stateless, otherwise you m…

> If you're running HAProxy on AWS, be sure your AWS firewall rules are stateless, otherwise you may well run into the unpublished connection tracking limits. This. I got bit by this the other day, a bunch of servers were having very low CPU usage but new connections to them were failing. Turns out it was because they were hitting the conntrack limit. Changing the security group rules to allow all from all "fixed" it…

> Although after a quick test, I think there's another limit, also unpublished, as I still can't establish as many connections as I want on a smaller instance.

Any chance this is an OS limit in your instance? Either a connection tracking firewall there, or FD/socket count limits? I don't have experience beyond the AWS connection tracking limits because I ran into them while testing something, but only found out how to avoid them much later (the test didn't go well, because of the limits, so we didn't go forward, and our assigned rep didn't tell us about the workaround either; I only found out by complaining about the limit to enough people that someone knew how to fix it)

Re: HAProxy 2.4

#60
We love haproxy. It is the load balancer powering millions of requests per second in aggregate in our data centers. These data centers cost less than half what the cloud would.
Post reply on HN