У меня есть веб-сервис, который аутентифицирует пользователя, и в случае успеха дает им Web-токен JSON, который они могут использовать для сохранения своей сессии.
В настоящее время у меня только один сервер, но в идеале хотелось бы увеличить его до двух или более ради производительности, однако я не уверен, как это будет работать с разными серверами, поскольку у них будут разные экземпляры поддержки кто сейчас вошёл в систему.Как управлять сеансами пользователя на нескольких серверах?
Например, моя служба проверит JWT, который возвращает клиент, и (при условии, что это хороший токен), возьмет идентификатор пользователя и сеанс и проверит, есть ли у пользователя вход в систему с этим идентификатор сессии.
Однако, если, например, промежуточное программное обеспечение, которое предшествует уровню веб-службы, определяет, что сервер, на котором был первоначально зарегистрирован пользователь, в настоящее время недоступен и перенаправляет запрос на другой экземпляр сервера веб-службы, как контроллер аутентификации предназначен для оценить, является ли запрос действительным?
Очень простая версия моей службы приведена ниже, с черными стрелками, представляющими обычную связь, и красными стрелками, представляющими связь, в случае, если Layer One решает направлять запрос на экземпляр второго. Layer One, по сути, очень простой и на самом деле не делает ничего, кроме маршрутного трафика, на следующий уровень, в зависимости от наличия двух экземпляров уровня.