не в курсе, сколько весь диск весит?
ммм... хз, гигов 10-20
а, поняла... Т.е. События читаются из хранилища, результат отправлюем в комманду, а читаем уже состояние такой алгоритм?
что такое "отправляем в команду"?
не, все происходит в обработчике команды (и да cqrs имеет отдаленное отношение к этим command bus херням) - по сути вместо того что бы читать из таблички один ряд ты читаешь в репозитории из таблички стрима ивенты этого агрегата
ну то есть это реально сложно это не похоже на "просто шину команд" и т.д. (считай что все команды выполняются строго в бэкграунде). И смысл в этом есть только там где либо хочется каких-то гарантий что операции пользователя будут обработаны (нельзя просрать данные пользователя) либо там где высокая конкурентность за ресурсы (аукционы, резервирование билетов, прочие штуки где все хотят купить последний айтем и 99% запросов бы упало из-за гонок). И это все будет влиять на то как флоу пользователя должен работать... Иначе это все просто command pattern + CQS и никакого отношения к CQRS не имеет
но CQRS не про запись в мастер, а четние с реплик, или отдаленно что-то в этом есть?
command/query repsponsibility segregation - это буквально "подход при котором мы разделяем операции на команды и запросы, запросы не меняют стэйт, команды никогда не должны фэйлиться по бизнес логике". То есть именно сам подход к разделению важен. а что ты потом с этим делаешь - просто мастер и проекции, или там еще чего...
ну да, все верно
Что ты имеешь ввиду под "команды не должны фейлиться по бизнес-логике" типа команда спиши 100 долларов со счета не должна падать при запрете овердрафта и балансе 50 или мы эту проверку должны не в хендлере делать, а перед вызовом команды?
почитай что я дальше писал. я вроде пояснил в чем суть и что я считаю фэйлом
Обсуждают сегодня