GCP 云负载平衡器映射更新导致停机

问题描述

我正在更改 GCP 上全球 HTTP 云负载均衡器映射的原点,在我看到应用更新的通知后,在大约 1 分钟的时间内响应是由 Google 提供的 502。

GCP 负载均衡器日志显示这些 502,并指示“Failed_to_pick_backend”的 statusDetail。大多数条目显示的 backendServiceName 为空,这是存储桶后端所期望的,但最后几个 502 显示的是恢复前的原始 backendServiceName。

原始源是外部服务,新源是存储桶。存储桶及其后端服务在映射更改发生前几个小时就已存在,并且两者都运行良好。

在 502 秒后,它开始正常从存储桶中提供服务,没有错误,也没有采取任何行动。

有没有办法在更新过程中避免 502s?

解决方法

当您create a bucket用作 HTTP(S) 负载平衡的后端时,建议您选择多区域存储桶,它会自动跨多个 Google Cloud 区域复制对象。这可以提高内容的可用性并提高整个应用的容错能力。

此外,建议使用下面的 Cloud Logging 高级过滤器查看 statusDetail HTTP failure messages,以便了解错误种类和 potential causes and solutions

resource.type="http_load_balancer"
resource.labels.url_map_name="[URL Map]"
httpRequest.status=502
jsonPayload.statusDetails="[Failure Message]"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...