GCE:如何让负载均衡器拒绝过多的流量?

GCE: How do you get the load balancer(s) to refuse excessive traffic?

我正在尝试 运行 GCE(计算引擎)上的第三方服务器软件。它在一个托管实例组中使用 HTTP and/or HTTPS、运行s 并从 Appengine 获取流量。

如果每个实例收到太多请求,此特定程序的行为会非常糟糕。因此,如果负载太大,我希望负载均衡器拒绝请求。但是我无法让我测试过的任何人以这种方式行事。无论我设置 "Balancing Mode" 什么,它似乎总是将请求分发到我组中的健康实例。这会导致每个实例在峰值下(在自动缩放开始之前)请求太多,并且意味着所有请求都会失败。

有没有办法让任何负载均衡器拒绝过多的流量?例如 return 立即出现 HTTP 错误?

您正在寻找负载均衡器无法实现的功能,但您或许可以在 Cloud Armor 中找到您想要的功能:https://cloud.google.com/armor/

一些选项仍在 Beta/Alpha 中,并且仍在不断发展。

如果这仍然不够好,您别无选择,应该创建一个 tcp LB 将流量定向到其他东西,例如 HAproxy 来做您想要的。

我认为您实际上应该看看 Apigee。尖峰逮捕政策处理您的用例。 https://docs.apigee.com/api-platform/reference/policies/spike-arrest-policy

如果您对价格更敏感,请查看云端点节流。 https://cloud.google.com/service-infrastructure/docs/rate-limiting