Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический пример
Доклад с митапа {Perm} Dev Meetup #1 (11 декабря 2021)
«Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии и практический пример реализации» — Олег Казаков, технический директор, Digital Spectr.
Ссылка на запись доклада на YouTube: https://www.youtube.com/watch?v=8ExcbFRZa6g
У микросервисной архитектуры много преимуществ: гибкость и автономность, возможность выбора стека для каждого микросервиса, простота кода и небольшое кол-во зависимостей в рамках одного микросервиса, масштабируемость под нагрузки.
Однако есть и минусы. С развитием любого проекта неизбежно растет и сложность его поддержки.
Рассмотрим один из показательных кейсов: аутентификация пользователей. Сложность в том, что у каждого микросервиса часто есть изолированная БД, но при этом нам необходимо разграничивать доступ в рамках всей системы. Будет разобран практический опыт реализации данного функционала.
Будет полезно:
— тем, кто только начинает знакомство с микросервисной архитектурой
— тем, кто уже столкнулся с проблемами данной архитектуры на своем проекте
В докладе:
— рассмотрен паттерн API Gateway: обзор, конфигурация nginx
— поговориили об OAuth2
— рассмотрены возможные стратегии для реализации аутентификации и практический пример одной из них
Материалы доклада:
— https://gitlab.com/users/ok-digital-s... - пример реализации
— https://microservices.io/ - большой портал с информацией про MSA
— https://www.nginx.com/resources/libra... - книга про микросвервисы от Nginx
— https://mcs.mail.ru/blog/26-osnovnyh-... - описание различных паттернов MSA
— https://tsh.io/blog/microservices-arc... - блог про веб-разработку, а данная статья - компиляция нескольких других статей про MSA
— https://microarch.ru/blog - блог автора курса по микросервисной архитектуре. Статей немного, но надеюсь будут добавляться