У меня есть общий вопрос о парадигме CQRS в целом.
Я понимаю, что CommandBus и EventBus отделят модель предметной области от нашего хранилища данных на стороне запроса, преимущества согласованности в конечном итоге и возможность денормализации хранилища на стороне запроса для оптимизации операций чтения и т. д. Все это звучит великолепно.
Но мне интересно, когда я начну увеличивать количество компонентов на стороне Query, отвечающих за обновление хранилища данных Query, не начнут ли они конкурировать друг с другом за выполнение своих обновлений?
Другими словами, если бы мы попытались использовать модель pub/sub для EventBus, и было бы много разных подписчиков на определенный тип события, не могли бы они начать конкурировать друг с другом из-за обновления различных битов денормализованных данных? Разве это не поставит нас в ту же лодку, что и до CQRS?
Как я слышал, это объяснялось, похоже, что CQRS должен полностью покончить с этим соперничеством, но является ли это просто идеалом, и на самом деле мы только сводим его к минимуму? Я чувствую, что могу что-то упустить здесь, но не могу понять это.