Que fait AxonFramework ?
Expliquer et raisonner sur les limites de cohérence dynamiques (Dynamic Consistency Boundaries - DCB) et comment Axon Framework 5 et Axon Server les implémentent. À utiliser lorsque l'utilisateur pose des questions sur "DCB", "dynamic consistency boundary", "consistency boundary", "killing the aggregate", la modélisation de la cohérence entre plusieurs entités, "EventCriteria", "@EventCriteriaBuilder", "@EventTag", "@EventSourcedEntity", "Tag", tags vs streams, "AppendCondition", "SourcingCondition", "ConsistencyMarker", la concurrence optimiste dans le store d'événements, comment choisir entre DCB et agrégats, et d'autres sujets connexes.
Concepts clés
- Dynamic Consistency Boundaries (DCB) : Permettent de définir des limites de cohérence transactionnelle au niveau de l'instance, et non plus au niveau du type d'agrégat. Cela offre plus de flexibilité que les agrégats traditionnels.
- EventCriteria : Interface pour filtrer les événements lors du sourcing et de l'ajout conditionnel.
- @EventCriteriaBuilder : Annotations pour construire des critères d'événements de manière déclarative.
- @EventTag : Permet d'attribuer des tags aux événements pour le filtrage.
- @EventSourcedEntity : Marque une entité comme étant sourcee par des événements, avec des DCB.
- Tag vs Stream : Les tags offrent une alternative plus flexible aux streams pour le filtrage événementiel.
- AppendCondition : Condition pour l'ajout conditionnel d'événements, basée sur des tags.
- SourcingCondition : Condition pour le sourcing d'événements, basée sur des critères d'événements.
- ConsistencyMarker : Marqueur utilisé pour suivre l'état de cohérence entre les entités.
- Killing the Aggregate : Stratégie pour terminer un agrégat ou une entité sourcee par événements.
Cas d'utilisation
- Modéliser des processus métier complexes où la cohérence entre plusieurs entités est nécessaire.
- Remplacer les agrégats traditionnels quand la limite de cohérence change dynamiquement.
- Optimiser la concurrence en évitant les conflits inutiles.
Plateformes supportées
- Axon Framework 5
- Axon Server Enterprise Edition (pour le support complet des DCB)
Ressources
Commandes CLI (non traduites)
# Exemple de commande Maven pour compiler un projet Axon
mvn clean install
Note : Les noms de variables d'environnement, tels que
AXON_SERVER_URLouAXON_TOKEN, doivent rester en anglais.