Mon équipe commence la mise en œuvre d'une nouvelle application, avec une exigence de multi-location. J'ai fait beaucoup de recherches sur les modèles pour une évolutivité simple, en particulier sur l'infrastructure distribuée basée sur le cloud, et CQRS semble être le mot à la mode du jour (allant jusqu'à être appelé "Crack for Architecture Addicts"). Avantages et inconvénients mis à part, il est assez difficile de trouver quelqu'un d'autre que Greg Young qui a largement utilisé cette idée (ou pas du tout) dans les applications de production et qui peut fournir des conseils concrets pour cela. Voici donc mes questions: 1. Une architecture CQRS s'adapte-t-elle à votre application multi-locataire typique ou est-elle mieux adaptée aux applications d'entreprise internes à plus grande échelle? 2. Si vous recommandez qu'il soit utilisé dans cette situation, pouvez-vous fournir des conseils sur les approches des tranchées, en particulier sur les choses à faire dès le début, et sur les aspects qui devraient évoluer organiquement. 3. Si quelqu'un a essayé et trouvé trop difficile ou non réalisé les avantages, ou a de solides arguments contre (et recommande de coller à CRUD et à plusieurs niveaux), j'aimerais aussi connaître ces expériences.Architecture CQRS multi-locataire
Pour référence, l'application sera écrite en .NET et la partie frontale sera initialement basée sur le Web (ASP.NET MVC), potentiellement étendue aux clients mobiles et aux clients lourds. La simultanéité, l'activité transactionnelle et le volume de données devraient rester relativement faibles tout au long de la durée de vie de l'application (par rapport aux applications financières à volume élevé et autres). Pour l'infrastructure, nous prévoyons d'utiliser Azure.
(Mettre ceci comme un commentaire pas une réponse parce qu'il ne répond pas vraiment aux spécificités de votre question) Si vous ne l'avez pas déjà fait, je suggère de lire l'article clarifié d'Udi CQRS ici: http: // www.udidahan.com/2009/12/09/clarified-cqrs/ et regarder sa vidéo dessus ici: http://skillsmatter.com/podcast/open-source-dot-net/udi-dahan-command-query- responsabilité-ségrégation/rl-311 –
En outre, spécifiquement pour .NET Azure CQRS consultez http://abdullin.com/ et le projet Lokad http://code.google.com/p/lokad-cqrs/ –
Michael, merci pour les commentaires. J'ai effectivement lu et regardé une très grande quantité d'informations sur ce modèle, y compris ces ressources. Ce qui semble manquer, c'est la voix de personnes qui ont utilisé cela depuis un moment, ou qui sont même en train de le mettre en œuvre maintenant. Avant de passer à l'étape des avantages théoriques, je veux valider que les défis réels qui les accompagnent ne sont pas trop importants. Comme le dit l'une de mes citations préférées: «En théorie, la théorie et la pratique sont les mêmes, mais dans la pratique, elles le sont rarement. – Mafuba