Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the design or proposal of elastic load balancer #481

Open
lawrancejing opened this issue Aug 21, 2023 · 1 comment
Open

What is the design or proposal of elastic load balancer #481

lawrancejing opened this issue Aug 21, 2023 · 1 comment

Comments

@lawrancejing
Copy link

which open source software will we use for elastic load balancer?

Thanks!

@lawrancejing lawrancejing changed the title what is the design or proposal of elastic load balancer? What is the design or proposal of elastic load balancer? Aug 21, 2023
@lawrancejing lawrancejing changed the title What is the design or proposal of elastic load balancer? What is the design or proposal of elastic load balancer Aug 21, 2023
@fdr
Copy link
Collaborator

fdr commented Aug 22, 2023

I investigated a few options, but haven't had a firm sense of direction just yet. I would have liked a memory-safe program, but HAProxy is so common it is reasonably compelling.

There may also be nftables-driven approaches. These might be faster and simpler and more fundamental, but would lose TLS termination, for example. However, if we were to do things this way, it would affect the overall equilibrium of how we build compensating features, e.g. we might build a TLS termination helper of some kind that doesn't have load balancing features if put most of the load balancing lifting on nftables.

One area that I wouldn't want to make obliged is use of ECMP, because it's often not available, though it'd be nice to use some day when available. On some platforms, we are almost certainly going to be obliged to use BGP to implement floating IPs, and that's ECMP-adjacent.

Another option I've considered is supporting APIs of common web application firewall (WAF) type products, to update their upstream data automatically from Ubicloud, in some kind of vm-set-like feature. I think it's a reasonable question that, for the web applications that use WAFs, why put in another load balancer, rather than using the WAF as the only one? Once again, if we exercise that option, it may affect how many compensating features we implement in the load balancer related functionality in ubicloud.

These are the thoughts I've had to date. Well, except using a poll-mode program, but there are a few reasons why I don't think that'd be appealing for some time, even though we have some experience with a similar program in spdk.

Do you have some input? I'd like it if you shared it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants