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