Всем привет, вопрос в архитектуре микросервисов. Возможно не туда. Поправьте если так. Есть три задачи:
1) Аутентификация и выдача токенов.
2) Восстановление пароля, путем отправки проверочного кода смс и его верификации
3) Регистрация пользователя
По сути всем трем сервисам необходимо так или иначе заглядывать в одну БД с таблицей Accounts...
Первый сервис проверяет истинный логин и пароль
Второй - меняет пароль
Третий - добавляет новую запись.
Как же быть, если микросервисы должны быть изолированны друг от друга? Или же допустимо использовать одну БД
Тут не они сервиса, а два и бэкграунд воркер на очереди если прямо хайлоад надо. Пользователи в одной бд и сервисе. Токены и правила в другом. Генерить токены в юзерском и кидать в бд токенов. Сброс пароля просто воркером. То есть одна часть с пользователями и восстановлением пароля работает. Она по старинке. А с токенами - почти вся read нагрузка. Её строить по канонам высокого чтения. Если пользователей тоже много - то и эту часть писать под хайлоад со сбросом пароля.