有时只有几个实例仅以错误5xx响应,我想知道是否存在将请求重定向到其他实例的解决方案?
谢谢
答案 0 :(得分:0)
根据GCP LB文档,仅重试超时,然后仅在特殊情况下重试。错误代码响应不会重试。
要解决此问题,您可以在实例组上创建HTTP运行状况检查(还有https,tcp和http2运行状况检查)。
创建HTTP运行状况检查
$ HOST_HEADER=www.example.com
$ gcloud beta compute health-checks create http hc-http-port-80 \
--description="Simple HTTP port 80 health check" \
--check-interval=5s \
--timeout=5s \
--healthy-threshold=2 \
--unhealthy-threshold=2 \
--port=80 \
--host=${HOST_HEADER}
创建后,您可以将其与LB关联
$ cloud compute backend-services update [BACKEND_SERVICE_NAME] \
--region [REGION] \
--health-checks [HEALTH_CHECK_NAME]
查找后端服务ID 如果您不知道后端服务的名称,则可以使用以下命令获取它
gcloud compute backend-services list \
--filter="loadBalancingScheme=EXTERNAL" \
--filter="protocol=HTTP"
答案 1 :(得分:0)