web-dev-qa-db-fra.com

Comparaison entre Axon Framework et Eventuate

Nous effectuons actuellement des recherches sur CQRS et Event Sourcing et avons trouvé deux cadres principaux prenant en charge ces deux préoccupations: Axon Framework et Eventuate . Les deux sont continuellement développés, tandis que Eventuate est maintenant plus activement développé dans le référentiel RBMH .

J'étais en train de cloner des exemples de projets pour les deux et je suis arrivé à la conclusion qu'Eventuate semble un peu plus léger, mais je suppose que cela est dû au manque de fonctionnalités par rapport à Axon.

J'ai essayé en vain de trouver une comparaison entre ces 2 frameworks, également ici dans Stackoverflow je n'en ai pas trouvé. Quelqu'un a-t-il une entrée?

16
Stefano L

Étant l'auteur original d'Axon Framework, cette réponse peut être un peu biaisée. Je ne suis pas non plus un expert d'Eventuate, bien que je connaisse ses concepts.

Axon existe depuis environ 7 ans et est utilisé par de nombreux systèmes en production depuis lors. Il semble qu'Eventuate ait été conçu comme une solution SaaS (avec alternative d'installation locale open source), qui est actuellement en Alpha.

Les deux cadres semblent avoir été conçus avec des objectifs différents à l'esprit. Lorsque Eventuate se concentre sur le sourçage d'événements et la publication d'événements, Axon se concentre beaucoup plus sur l'abstraction de la messagerie, où la messagerie est à la fois des commandes, des événements et (à un stade ultérieur également) des requêtes. Il fournit des annotations pour délimiter les gestionnaires d'événements et de commandes. Il vous permet également de concevoir vos entités de manière à ce qu'elles restent découplées des internes du framework.

Cette abstraction vous permet de "brancher" n'importe quelle base de données que vous souhaitez utiliser comme magasin d'événements. Axon prend en charge JPA, JDBC et MongoDB prêts à l'emploi. Pour autant que je sache, Eventuate fournit sa propre implémentation de magasin d'événements.

15
Allard