Event sourcing de l'infrastructure de mise en œuvre
- Je mettre en œuvre Event Sourcing et CQRS motif de ma demande. J'ai inspiré par CQRS voyage où j'ai téléchargé le code de l'échantillon. J'y ai trouvé toute l'infrastructure pour l'Event sourcing (CommandHandlers, les gestionnaires d'événements, les Événements, les Enveloppes, etc...), mais elle est assez grande quantité de code et je ne peux pas imaginer que j'ai besoin de tous le code pour mon simple Event sourcing.
Savez-vous certaines communes testé bibliothèque/package nuget/projet contenant l'ensemble de l'infrastructure pour l'envoi/enregistrement des commandes, les événements et tout ce dont j'ai besoin dans l'Event sourcing modèle? Ou dois-je la mettre en œuvre en moi-même?
OriginalL'auteur Jozef Cechovsky | 2015-07-17
Vous devez vous connecter pour publier un commentaire.
La recommandation générale est de ne pas écrire votre propre événement store. Bien sûr, vous pouvez écrire votre propre ES, mais ce uniquement à des fins pédagogiques. Pour les systèmes de production, je vous recommande d'utiliser un existant ES. Il pourrait ressembler à un tas de code infrastructure inutiles au premier abord, mais vous remarquerez très vite que vous n'en avez pas besoin. Dans sa forme la plus simple ES n'est pas difficile mais une fois que vous commencer à parler de simultanéité, de la performance, etc il sera plus compliqué.
NEventStore et Événement Store sont deux bien connus de l'événement magasins.
Comme une note de côté à partir de ma propre expérience, ne pas sous-estimer le temps que vous devez investir sur les infrastructures de code même si vous utilisez un existant ES.
Vous pouvez utiliser un service de bus pour qui. Il y a un certain nombre d'entre eux (NServiceBus, transport de Masse, etc), j'ai mon propre que j'utilise.
Vous pouvez prendre un coup d'oeil à NEventStore CommonDomain. Cela vous donnera un peu d'aide, mais il ne sera pas vous aider avec l'infrastructure de messagerie. Encore, vous voulez probablement pour écrire ce genre de choses vous-même, de sorte que vous aurez le contrôle sur elle. Pour les projections découvrez la PollingClient dans NEventStore.
OriginalL'auteur user707727
Puis-je vous présenter ce .NET Core 2.x event sourcing cadre: https://github.com/jacqueskang/EventSourcing/
Il fournit des classes de base pour la mise en œuvre d'événements, événement d'origine entités, entité dépôts, et plusieurs événements simples magasins de persister événements dans un fichier texte ou dans la base de données (à l'aide de EF de Base).
Il est particulièrement facile à intégrer dans une ASP.NET de Base de l'application web, j'ai un assez simple démo ici.
Accueillir toute contribution ou commentaire!
OriginalL'auteur Jacques Kang
Greg young a créé un vraiment simple CQRS/ES de projet que vous pouvez utiliser comme un point de départ. L'infrastructure est beaucoup plus simple que le CQRS voyage code
https://github.com/gregoryyoung/m-r
J'ai utilisé une simple mise en œuvre que j'ai écrit moi-même, mais il emprunte fortement à partir de cet exemple. Cela dépend vraiment de la complexité de votre application. Si vous êtes commencer juste dehors, aller avec un véritable service de bus pourrait être exagéré.
Oui, je partage votre avis. Il est possible d'extraire de l'CQRS voyage ce que vous avez besoin de code ou de vous-même. Lorsque l'application est plus grand et plus complexe, quelque chose comme NServiceBus est un bon choix.
NServiceBus n'a rien à voir avec l'Event Sourcing.
OriginalL'auteur
J'ai mis en place mon propre événement en magasin solution de messagerie basé sur CQRS Voyage. Le message de persistance est sur le dessus de SQL Server. Avec elle, vous pouvez faire beaucoup plus:
- Vous pouvez vous abonner à tout moment à un ruisseau. Très utile lorsque vous avez besoin d'un nouveau ViewModel pour le côté lecture. Cela vous permettra d'avoir de la haute disponibilité sur le côté lecture.
- Vous pouvez distribuer votre application en plusieurs nœuds dans un micro-service de la mode.
- Vous pouvez faire une requête de votre événement en magasin, comme Greg Young événement store.
- Et beaucoup plus...
OriginalL'auteur Narvalex
J'ai récemment open source Java my mise en œuvre d'un event sourcing (base de données) cadre, Eventsourcing pour Java. Cependant, le plan est d'avoir plusieurs implémentations de langue en bas de la route, y compris .NET. C'est pourquoi il y a un effort continu pour spécifier les fondamentaux.
Mon œuvre est davantage axé sur les fidèles de commande/l'événement de capture avec un paresseux "lire"côté plutôt que pro-active de l'application de chaque événement.
OriginalL'auteur Yurii Rashkovskii