Как лучше организовать микросервисную архитектуру с несколькими пользовательскими группами?
На данный момент есть API Gateway и сервис авторизации, связанный с БД Users, в которой хранятся все данные пользователей. Запросы к другим сервисам выполняются через middleware, проверяющий токен и возвращающий роль пользователя, если этому пользователю позволено делать операции по данному маршруту API, то все ок.
Возникла проблема с масштабируемостью, так как на каждую роль есть свои данные, которые тем не менее хранятся в одной коллекции mongo db. Как лучше провести рефакторинг архитектуры и разделить группы пользователей? Нужно ли делать для них отдельные микросервисы?
Разные сервисы для разных групп пользователей делать однозначно не надо, а разграничение доступа делайте на уровне контроллеров api и пусть api решает кому что можно.