vesh95
@vesh95
Инженер-электроник, программист

Как работают сессии в распределенных приложениях?

По простому примеру.
Есть приложение на ror, в нем реализована корзина и аутентификация через сессии. Но предполагается развернуть несколько контейнеров приложения и проксировать запросы на них через nginx. Как это отразится на работе сессий? На сколько я знаю сессии привязаны к определенному пользователю и приложением, но что тогда будет если nginx перенаправит запрос в другую репликацию приложения?
Как это реализовано у других различных веб-сервисов.
Как такое приложение можно масштабировать?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
vick
@vick
Пишу на RoR
Как раз "из коробки", в рельсах сессия лежит в куках. Если использовать точно такой же экземпляр приложения со всеми ключами, с которыми сессия хэшируется, то делать ничего более не нужно, так как сессия будет доступна на любом инстансе.

P.S. Другой вопрос, про детали реализации в вашей схеме. Т.е. к примеру если вы всю корзину храните в сессии вместо идентификатора внутреннего заказа и уже не влезли в ограничение по объему куки и по этой причине перешли на другое хранилище сессии = тогда +1 к ответу выше.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Нужно либо настраивать sticky session на Nginx, либо организовывать централизованное хранилище сессий для всех экземпляров приложения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
iGooods.ru Санкт-Петербург
от 120 000 до 180 000 ₽
Frogogo Москва
от 100 000 ₽
26 февр. 2020, в 22:39
1000 руб./за проект
26 февр. 2020, в 22:23
7000 руб./за проект