Моя команда начинает внедрение приложения с нуля, требующего многопользовательской аренды.Я проводил большое количество исследований шаблонов для простой масштабируемости, особенно в распределенной облачной инфраструктуре, и CQRS, по-видимому, является умным словом du jour (до сих пор называемым «Crack for Architecture Addicts», что я нахожу довольно забавным)).Помимо преимуществ и подводных камней, довольно сложно найти кого-либо, кроме Грега Янга, который широко (или вообще) использовал бы эту идею в производственных приложениях и может дать практическое руководство для нее.
Итак, вот мои вопросы1. Подходит ли архитектура CQRS для вашего типичного мультитенантного приложения или она лучше подходит для крупномасштабных внутренних корпоративных приложений.2. Если вы порекомендуете использовать его в этой ситуации, можете ли вы предоставить некоторые руководящие указания по подходам, особенно в том, что касается правильной работы на ранних этапах, и какие аспекты должны развиваться органически.3. Если кто-то попробовал и нашел, что это слишком сложно, или не осознал преимущества, или имеет веские аргументы против этого (и рекомендую придерживаться CRUD и многоуровневого дизайна), я хотел бы также узнать об этом опыте.
Для справки, приложение будет написано на .NET, а интерфейс изначально будет веб-ориентированным (ASP.NET MVC), потенциально распространяясь на мобильные и толстые клиенты.Ожидается, что параллелизм, транзакционная активность и объем данных будут оставаться относительно низкими на протяжении всего срока службы приложения (по сравнению с финансовыми приложениями большого объема и т. П.).Для инфраструктуры мы планируем использовать Azure.