Разделение трафика App Engine не сохраняется - PullRequest
1 голос
/ 11 июня 2019

При разделении трафика по файлам cookie мы наблюдаем следующее поведение:
Файл cookie GOOGAPPUID не получает число в диапазоне 0-999, а скорее строку, напоминающую эту форму: xCgsIARD8AiDF1PjnBQ
Даже если клиент имеетcookie, который он не всегда посылает в одну и ту же версию, каждые несколько минут переключается на версию, на которую направлен клиент.

Как мы можем исправить это?

1 Ответ

1 голос
/ 18 июня 2019

Так что, по-видимому, это ошибка 2015 года ( система отслеживания проблем Google ), которая еще не исправлена.

Хотя мы реализовали частичное решение:

Если у вас есть версии A и B, разделите 30% / 70%, а затем, если вы вручную установите для файла GOOGAPPUID значения от 0 до 299, вы получите версию A или от 300 до 999 '.Я доберусь до версии B последовательно через запросы.

Зная, что в соответствующих обработчиках нашего приложения (вам может потребоваться сделать это для всех обработчиков вашего приложения) мы проверяем, есть ли во входящем запросе файл cookie GOOGAPPUID И что это число.Если это число, мы оставляем его как есть.

Если оно отсутствует или не является числом, это означает, что мы не устанавливали его раньше.Таким образом, мы проверяем, какая у нас версия (поскольку разделение трафика App Engine работает хорошо, нарушается только механизм постоянных файлов cookie), и если мы находимся в версии A, мы устанавливаем значение cookie в диапазоне 0-299, еслимы находимся на версии B, мы установили для cookie значение 300-999.

Этот патч заполнит пробел в проблеме Google с файлами cookie GOOGAPPUID и предоставит вашему пользователю постоянный опыт при обработке запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...