Развертывание колбы - PullRequest
       46

Развертывание колбы

0 голосов
/ 21 ноября 2018

Я создал торговый сайт с бэкэндом и внешним интерфейсом.Бэкэнд - это python (3.6.5) с Flask.Я хочу развернуть свой сайт в Google App Engine (gae).Когда в разработке все работает нормально. При развертывании (в производстве) каждый rpc получает свой собственный «поток», и все в беспорядке. Я попытался нанести ему огнестрельное оружие с помощью класса синхронизации и рабочего класса gevent, но безрезультатно.

В развертывании, как я могу заставить каждое соединение / сеанс помнить свой собственный 'экземпляр сервера'?вместо gae / flask / gunicorn, обслуживающего новый экземпляр бэкэнда для каждого запроса?Мне нужно, чтобы каждое пользовательское соединение было согласованным и «своим» / «частным».

1 Ответ

0 голосов
/ 21 ноября 2018

Это невозможно сделать.App Engine распределяет нагрузку запроса на ваше приложение по всем экземплярам, ​​независимо от того, какой из них ранее обрабатывал запрос с определенного IP-адреса.Конкретный экземпляр также может подключаться к сети или отключаться из-за загрузки или базовых изменений в App Engine (например, центр обработки данных нуждается в обслуживании).

Если вам нужно поддерживать состояние сеанса между несколькими запросами к вашему приложению, выесть несколько вариантов в зависимости от архитектуры:

  • Сохранять состояние сеанса в файлах cookie с помощью Flask.session
  • Сохранять состояние сеанса в хранилище с помощью Memorystore
...