App Engine流量拆分未持久

时间:2019-06-11 05:57:22

标签: google-app-engine google-cloud-platform

按Cookie划分流量时,我们观察到以下行为:
GOOGAPPUID cookie不会收到0-999之间的数字,而是类似于以下形式的字符串:xCgsIARD8AiDF1PjnBQ
即使客户端具有不总是发送给他的相同版本的cookie,客户端每隔几分钟就会切换到该版本。

我们如何补救?

1 个答案:

答案 0 :(得分:1)

显然,这是2015年(Google issue tracker)的错误,尚未修复。

我们已实施了部分解决方案:

如果您具有版本A和B,请分别分配30%/ 70%,然后,如果您将GOOGAPPUID Cookie手动设置为0-299之间的值,则将获得版本A,或者将其设置为300-999之间的值跨请求始终保持到版本B。

知道在我们应用程序的相关处理程序上(您可能需要对应用程序的所有处理程序执行此操作),我们检查传入的请求是否已经具有GOOGAPPUID cookie,并且它是一个数字。如果是数字,我们将其保留不变。

如果不存在或没有数字,则表示我们之前未设置它。因此,我们检查我们使用的版本(因为App Engine流量分配工作良好,只有持久性Cookie机制被破坏了),如果我们使用的是版本A,则将Cookie设置为0-299之间的值我们使用的是B版本,我们将Cookie的值设置为300-999。

此修补程序将使用GOOGAPPUID cookie填补Google问题的空白,并为您的用户提供跨请求的持久体验。