Спасибо за статью. Вопрос (без подкола, т.к. самому интересно): разве это правильный подход хранить в event store такие данные как, например, password? Ведь у вас какждый раз при регистрации происходит отправление команды:
@CommandHandler
public UserAggregate(SignupUserCommand command) { apply(new UserSignedUpEvent(command.getUserId(), command.getUsername(), command.getPassword(), command.getEmail()));}
Мои личные размышления насчёт работы с cqrs и saga сводятся к тому, что их можно использовать в некоторых экзотических случаях, связанных с :
а) Необходимостью быстрого чтения данных (т.к. у нас существует отдельная база для query-запросов)
б) Межмикросервисные транзакции но это спорный вопрос, насколько вообще правильно в ущерб соблюдения консистентности данных делать такие вещи через цепочку command-event а потом, в случае ошибки, делать такую же цепочку компенсационных транзакций.
Спасибо за статью. Вопрос (без подкола, т.к. самому интересно): разве это правильный подход хранить в event store такие данные как, например, password? Ведь у вас какждый раз при регистрации происходит отправление команды:
@CommandHandlerpublic UserAggregate(SignupUserCommand command) { apply(new UserSignedUpEvent(command.getUserId(), command.getUsername(), command.getPassword(), command.getEmail()));}Мои личные размышления насчёт работы с cqrs и saga сводятся к тому, что их можно использовать в некоторых экзотических случаях, связанных с :
а) Необходимостью быстрого чтения данных (т.к. у нас существует отдельная база для query-запросов)
б) Межмикросервисные транзакции но это спорный вопрос, насколько вообще правильно в ущерб соблюдения консистентности данных делать такие вещи через цепочку command-event а потом, в случае ошибки, делать такую же цепочку компенсационных транзакций.
Я не смог сбежать :(