Я реализую систему CQRS с постоянством Akka и пытаюсь понять бит ответа на запрос CQRS.
На SO есть несколько ответов о том, как отправить ответ обратно клиенту, и эта статья также упоминает несколько хороших шаблонов. Но вместо того, чтобы обобщать, используя громкие слова, может кто-нибудь объяснить, как мне отправить ответ клиенту в CQRS для следующего простого варианта использования.
Случай использования
Предположим, что пользователь находится на странице, которая отображает профиль пользователя, который отображает следующую информацию
- Имя пользователя
- Адрес
- Телефонный номер
И в моей системе у меня есть один актер на пользователя, который хранит информацию о профиле этого пользователя.
В пользовательском интерфейсе пользователь хочет обновить адрес, и происходит следующее:
- Пользователь делает вызов AJAX REST для обновления адреса пользователя
UpdateUserAddressCommand(address:String)
сгенерированоUpdateUserAddressEvent(address:String)
сгенерированоUserAddressUpdatedEvent(updatedAddress:String)
сгенерировано (состояние UserActor обновлено)
Теперь, как мне отправить обратно полное состояние UserProfile в системе? Поскольку CQRS не рекомендует отправлять ответ на команду?