микросервисы юзают такую архитектуру:
- шлюз - это точка входа во всю систему, откуда шлются команды/евенты в очереди. Также сюда прикручивается авторизация.
- микросервисы, отдельные независимые приложения, отвечающие только за свою область
И собственно в чем вопрос:
Я читал в чате, вроде были сообщения, где авторизацию выносят в отдельный микросервис.
Это насколько хорошо авторизацию выносить из шлюза?
Ведь на каждый запрос в шлюз шлюз должен кидать команду в ауз, и после уже в микросервисы. И так везде
Шлюз - не обязательная часть. В чистом виде микросервисы - отдельные независимые части, с которыми клиент может работать по отдельности. Даже если он есть, авторизацией шлюз не должен заниматься. Такой шлюз, если в нем ещё какая-то логика есть, а не просто маршрутизация - сразу самое узкое горлышко (а микросервисы в первую очередь про большую нагрузку)
Я хочу через шлюз, чтобы фронту удобно было кидать запросы Получается не критично, что в каждом метода мы отправляем команду в ауз и уже после в юзера?
Чтобы постоянно не дергать сервис авторизации как раз обычно и используют stateless авторизацию, например, с JWT
Получается у шлюза все равно будут кусочки от авторизации Хорошо, спасибо. Я тогда оставлю авторизацию на шлюзе. При регистрации буду просто в микросервисы пользователей кидать А токен валидировать на шлюзе
Исходя из этого сообщения я воспринял это как некоторые части может сам шлюз сделать
Но я там ничего не писал про шлюз... При stateless авторизации для валидаци токена ничего не нужно, кроме самого токена и публичного ключа
Обсуждают сегодня