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

时间:2018-10-04 08:39:10

标签: google-cloud-platform google-compute-engine google-cloud-networking

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

如果每个实例收到太多请求,此特定程序的行为将非常糟糕。因此,如果负载太大,我希望负载平衡器拒绝请求。但是我无法获得经过测试的任何这种行为。无论我设置了什么“平衡模式”,似乎总是将请求分发到组中的正常实例。这会导致每个实例在高峰以下(自动缩放开始之前)的请求过多,这意味着所有请求都会失败。

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

2 个答案:

答案 0 :(得分:2)

您正在寻找负载平衡器无法实现的功能,但是您可能能够找到在云计算防护中正在寻找的东西:https://cloud.google.com/armor/

某些选项仍处于Beta / Alpha模式,并且仍将继续发展。

如果那还不够好,您将别无选择,应该创建一个tcp LB来将流量定向到HAproxy之类的其他设备来完成您想要的事情。

答案 1 :(得分:1)

我认为您应该实际查看Apigee。峰值停止策略可以处理您的用例。 https://docs.apigee.com/api-platform/reference/policies/spike-arrest-policy

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