Наш проект разработан с использованием DDD. Мы решили перенести идентификатор пользователя на один микросервис, который будет использоваться для проверки идентификации пользователя, выдачи и проверки токенов.Возможная последовательность при регистрации пользователя
Теперь, поскольку учетные записи и пользователи находятся в другом микросервисе, которое решает проблему обработки данных пользователя и учетной записи, мы столкнулись с проблемой, называемой возможной последовательностью.
Вопрос для нас заключается в том, что мы должны сначала создать учетную запись/пользователей в учетных записях и микросервисах пользователей, а затем опубликовать событие для микросервиса идентификации пользователя или наоборот.
В первом случае у нас будет доступная информация об учетной записи и пользователях, но ни один пользователь не сможет войти в систему, поскольку не могут быть предоставлены токены из-за возможной задержки согласованности.
Во втором случае пользователь может войти в систему, но когда он войдет в свою учетную запись, информация о счете не будет доступна из-за возможной задержки согласованности. Для этого случая существует обходное решение по отправке письма с подтверждением при достижении конечной согласованности, поэтому пользователь может подтвердить регистрацию и логин.
Я хотел бы услышать обратную связь, какой случай имеет больше смысла, и есть ли какие-либо проблемы, которые я не вижу на этом этапе?
Я чувствую, что разделение пользователей от идентичности довольно странно. «Пользователь» обычно представляет собой концепцию, найденную в Identity BC. В любом случае, если пользователи будут входить только со своими удостоверениями, смогут ли они использовать основные системные функции (за исключением доступа к их информации об учетной записи, очевидно)? – plalx