【发布时间】:2017-11-06 18:23:27
【问题描述】:
我们运营的网站通过 Google Place API 获取位置数据。我们每天有 15 万次搜索可用,但我们还没有遇到过,因为该网站只上线了几周。我们突然收到 502 错误。控制台中的通知显示:“服务器遇到临时错误,无法完成您的请求。”。这是临时错误吗?对我们能做什么有什么建议吗?该网站已 40 分钟无法访问。
【问题讨论】:
标签: web-services google-places-api
我们运营的网站通过 Google Place API 获取位置数据。我们每天有 15 万次搜索可用,但我们还没有遇到过,因为该网站只上线了几周。我们突然收到 502 错误。控制台中的通知显示:“服务器遇到临时错误,无法完成您的请求。”。这是临时错误吗?对我们能做什么有什么建议吗?该网站已 40 分钟无法访问。
【问题讨论】:
标签: web-services google-places-api
当您在响应中收到 5xx 状态或 UNKNOWN_ERROR 时,您应该实现重试逻辑。 Google 在其网络服务文档中有以下建议:
在极少数情况下,在满足您的请求时可能会出现问题;您可能会收到 4XX 或 5XX HTTP 响应代码,或者 TCP 连接可能只是在您的客户端和 Google 服务器之间的某处失败。通常值得重新尝试请求,因为当原始请求失败时,后续请求可能会成功。但是,重要的是不要简单地循环重复向 Google 的服务器发出请求。这种循环行为可能会使您的客户端和 Google 之间的网络过载,从而导致多方出现问题。
更好的方法是重试,增加尝试之间的延迟。通常,每次尝试都会使延迟增加一个乘法因子,这种方法称为指数退避。
但是,如果使用指数退避重试逻辑没有帮助并且错误持续很长时间,您应该在 Google issue tracker 中提交错误
我希望这能解决您的疑问!
更新
昨天(2017 年 11 月 6 日)Google 端出现了一个问题,您可以参考以下 bug 来解释该问题:
【讨论】: