0

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

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

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

4

2 回答 2

2

您正在寻找负载均衡器无法执行的功能,但您也许可以在云盔甲中找到您正在寻找的功能:https ://cloud.google.com/armor/

一些选项仍处于 Beta/Alpha 阶段,并且仍在不断发展。

如果这仍然不够好,您将别无选择,应该创建一个 tcp LB 来将流量引导到 HAproxy 之类的其他东西上,以执行您想要的操作。

于 2018-10-05T14:46:03.567 回答
1

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

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

于 2018-10-15T11:46:55.277 回答