Ложный успех-мсес из-за условий гонки и возможной последовательности, вызванной CQRS с поиском событийJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Ложный успех-мсес из-за условий гонки и возможной последовательности, вызванной CQRS с поиском событий

Сообщение Гость »

Я очень новичок в концепциях CQRS и поиска событий, так что не будьте слишком тяжелыми (мой английский тоже не так хорош), так что извините, если есть какие -либо понимающие проблемы. Этот микросервис будет записан на Java с использованием Spring Boot. На данный момент у меня есть API REST с конечной точкой /регистром. Эта конечная точка имеет DTO с атрибутами «Электронная почта», «Имя пользователя» и «Пароль». Если какие -либо из этих атрибутов не являются уникальными, конечная точка вернет ошибку. < /P>
Пока что хорошо. Следующим методом, вызванным после проверки, является (асинхронизированное) метод руководителя RegisterUserCommandhandler. Этот метод предназначен для того, чтобы быть «огнем и забыть», поэтому, если в этом методе возникает ошибка, контроллер не узнает об этом.user.register(eventPublisher);
< /code>
Эта строка может выбрать DataInteGrityViolationException, если данное имя пользователя или электронная почта не уникальны. Это исключение будет брошено только в том случае, если два запроса были отправлены в течение 2 секунд (когда приложение работает локально), потому что проверка в контроллере вернулась, что имя пользователя и электронная почта уникальны из -за условий гонки и разделения DB write (Event store) и чтения DB (Postgres db). Исключение было поймано в рамках функции, но не возвращалось к функции в контроллере, из -за принципа «Огнен и забыть». Спасибо заранее и хорошего дня!

Подробнее здесь: https://stackoverflow.com/questions/795 ... -caused-by
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»