Я работаю над веб-приложением и хочу сделать это должным образом, поэтому я не забываю о масштабируемости. Одна вещь, которая поражает меня, - это то, как обрабатывать сессии на нескольких серверах.
Краткий пример:
Допустим, Анна входит на мою веб-страницу и балансировщик нагрузки перенаправляет ее на сервер X . Сервер X хранит данные Анны и вскоре после Анна закрывает веб-страницу.
Примерно через 10 минут Анна снова открывает страницу и перенаправляется на сервер Y . Ее сеанс должен быть еще жив.
Откуда сервер Y знает, что это она?
│
├── Anna ─> load-balancer ─> Server X ─> Session Data on X
│
10 mins pass
│
└── Anna ─> load-balancer ─> Server Y ─> How to get session data on X?
- Есть ли возможность обслуживать аутентифицированные запросы API без сеанса?
- Лучше ли хранить данные сеансов в центральной базе данных?
- Есть ли другое распространенное решение, которое я не знаю, как искать?
Я очень благодарен за любые ответы, особенно если это касается приложений для узлов и экспрессов.
В общем, я ищу наилучшее практическое решение, так как я очень хочу учиться.