envoyproxy/envoy

Question: Can Envoy handle HAproxy's aloha protocol, and also do meta load-balancing?

Open

#27,678 创建于 2023年5月30日

在 GitHub 查看
 (8 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/load balancingenhancementhelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

Title: Can Envoy do meta load-balancing?

Description:

We've got a number of CDN servers, and we want to set up Envoy as a load balancer that calls their healthcheck endpoints and perform all the usual load-balancing calculations, but instead of proxying the traffic, we want Envoy to return the ip address of the server it would have proxied the traffic to. The client would then bypass Envoy and connect to the server directly; which is why I called it "meta" load-balancing.

One idea was to have the healthcheck endpoint on each server return one of the strings (down, up, maint, ready, 50%, maxconn: 30) (stolen wholesale from haproxy), but if there's a better way to communicate how much load a server is willing to accept, great!

Relevant Links:

https://www.haproxy.com/documentation/aloha/latest/load-balancing/health-checks/agent-checks/ Varnish and Nginx only have a binary healthy/not-healthy approach, it seems.

Thanks for any insight you could lend!

贡献者指南