Мы создали архитектуру на основе DDD и CQRS.Кроме того, у нас есть спокойный API с реализацией OAUTH, к которому наши клиенты могут подключатьсяНаши клиенты подключаются к нашему API и выполняют операции от имени своих клиентов.Их клиенты представлены профилями на нашей стороне.
У нас нет хорошего решения для следующей проблемы.Клиенты могут создать профиль, вызвав метод нашего API.Проблема в том, что нам нужно гарантировать уникальность профилей.Поэтому в настоящее время мы проверяем существующий профиль в модели чтения, создаем команду, если она не существует, и возвращаем идентификатор профиля клиенту, чтобы они могли выполнять другие вызовы API.
Когдаклиент выполняет несколько вызовов в быстрой последовательности, профиль создается дважды, а не один раз из-за устаревшей модели чтения.Мы не хотим этого, но как мы решаем эту проблему?
Мы думали о создании саги, чтобы предотвратить создание более одного профиля в домене, но это все еще проблематично, потому что нам нужно вернутьтот же идентификатор профиля для клиента, если их запрос совпадает.
Есть мысли?