Я довольно новичок в архитектуре микросервисов. Я пытался создать стек микросервисов, используя библиотеки Spring Boot, Spring Cloud и Netflix OSS. Я хочу знать, как правильно и где хранить сеанс.
Вот обзор инфраструктуры, которую я создал:
- Сервер авторизации/аутентификации с поддержкой OAuth2
- Служба пользовательского интерфейса (Spring Boot, служба переднего плана)
- Серверная служба-1
- Серверная служба-2
- Redis Server для хранения сеанса и других кэшируемых данных
- Сервер обнаружения (эврика)
В настоящее время я пытаюсь сохранить сеанс в Redis, настроив службу пользовательского интерфейса для его выполнения. Кажется, он работает нормально, хотя у меня не было возможности попробовать его для нескольких экземпляров службы. Однако при разработке у меня уже возникают проблемы с сериализацией/десериализацией. Кстати, попытка сохранить сеанс во внешнем приложении - это правильное место, или это следует делать в службе авторизации/аутентификации, поскольку аутентификация обрабатывается в этой службе?
Вот моя конфигурация сеанса в службе пользовательского интерфейса (интерфейсная служба)
@Configuration
@EnableRedisHttpSession
public class SessionConfig extends
AbstractHttpSessionApplicationInitializer {
public SessionConfig() {
super(RedisConfig.class);
}
}
Подводя итог, я ожидаю достижения и использования лучших практик в этом проекте. Ваша помощь будет оценена по достоинству.