Масштабирование пользовательской сессии с помощью Redis - PullRequest
0 голосов
/ 30 марта 2020

Я хотел бы создать масштабируемость для своего проекта, и я немного запутался в том, как масштабировать данные пользовательских сессий. Я бы хотел полностью избежать использования локального хранилища.

Меня смущает ключ Redis; каким должен быть ключ?

Например, предположим, что наше приложение находится за балансировщиком нагрузки, и у нас работает 2 экземпляра.

Пользователь A входит в систему через экземпляр A, а затем закрывается браузер.

Пользователь A повторно открывает браузер и посещает приложение. На этот раз экземпляр B передает приложение пользователю A, но поскольку пользователь A вошел в систему через экземпляр A, экземпляр B не имеет данных сеанса для этого конкретного пользователя. Следовательно, экземпляр B должен получить доступ к Redis и проверить, входил ли когда-либо этот пользователь в систему.

Итак, что именно здесь представляет собой ключ Redis? Пользователи по электронной почте? Токен JWT?

Если это электронная почта пользователей, то мы должны хранить электронную почту пользователей в своем локальном хранилище, верно? Как еще мы можем получить электронную почту пользователей, не выполняя двойной вход вручную, что явно нехорошо.

Если в качестве ключа используется токен JWT, то как мы узнаем, какой токен предназначен для какого пользователя?

...