1

当我们在谷歌应用引擎控制台中将服务器代码切换到新版本时,需要生成大量新实例。因此,我们看到大约 500 个错误和较长的响应时间。

缓解这些问题的最佳做法是什么?

4

3 回答 3

2

在部署期间,请求并不总是发生 500 次响应。以前,您的应用程序的新版本能够不间断地从旧版本中接管流量,但这似乎在很久以前就停止了。这些 500 似乎根本不会进入您的应用程序(因为您的日志中不会显示任何请求,并且您的应用程序 500 页面不会提供它们)。时间窗口似乎也从无到一分钟不等。

我不知道有任何迹象表明 appengine 团队正在考虑解决这个问题,尽管它看起来像是一个错误(或者至少是一个合理的功能请求)。

为了解决这个问题,我们通常部署到不同的版本并将其切换为默认版本。一旦它为流量提供服务,我们就部署到以前的版本,然后将其切换回默认值。这允许为客户提供不间断的服务,但它确实需要(至少在 Java 领域)一个新的构建。

于 2013-07-19T06:30:52.583 回答
1

除了其他人回答:预热请求,您还应该查看流量拆分 - “App Engine 的流量拆分工具允许您在一段时间内缓慢推出应用程序的功能,类似于 Google 在推出时所做的事情"

此处的文档https://developers.google.com/appengine/docs/adminconsole/trafficsplitting

于 2013-07-19T05:28:24.863 回答