Introduction
Nous allons apprendre sur le Cadre Axone, Serveur AxoneQuel CQRS est, comment cela fonctionne, et pourquoi il en est ainsi Populaire dans le monde entier dans ce blog.
AXON est un Cadre open source pour les microservices pilotés par les événements et la conception pilotée par le domaine. C’est un Cadre Java qui permet aux développeurs d’accéder aux référentiels, aux implémentations de composants cruciaux, notamment les agrégats, les bus de commandes et d’événements, et aux implémentations du modèle architectural CQRS. Des principes d’architecture comme Conception axée sur le domaine et CQRS sont la base du cadre.
De plus, nous pouvons Intégrer logique métier à travers de nombreux distribués Microservices en utilisant le framework AXON, tout en construisant incroyablement Évolutif et Applications flexibles.
En raison de son excellente Interaction avec Botte de printemps et Cadre de printemps, il a un avantage significatif. Et par conséquent, le framework gérera une grande partie des configurations, ce qui nous permettra de nous concentrer uniquement sur le développement de la logique métier.
Commençons par comprendre le modèle de conception CQRS avant d’utiliser le framework Axum. Nous continuerons à en apprendre davantage sur le framework Axon et observerons comment les applications CQRS sont créées à l’aide de ce framework.
CQRS
CQRS, ou Ségrégation des responsabilités de requête de commande, est l’acronyme de cette technique. Le nom Command Query Responsibility Segregation car le modèle de conception CQRS divise les responsabilités des composants de votre application principalement en Deux catégories :
- Commandes
- Requête
UN Demande client fera un Requête HTTP chaque fois qu’il interagit avec notre micro service. POST, PUT, DELETE ou PATCH sont quelques exemples. Un HTTP OBTENIR la demande peut également être envoyée par celui-ci.
Ces demandes peuvent être considérées comme des commandes qui exécutent des tâches spécifiques. De plus, depuis OBTENIR Request demande à nos microservices de renvoyer certaines données, nous pouvons considérer qu’il s’agit d’un Requête.
Les microservices vont faire peau neuve Commande chaque fois que nous voulons qu’ils effectuent une certaine opération. Et nous utiliserons un Requête API lorsqu’un microservice a besoin de récupérer certaines données d’une base de données. Considérez une commande comme le désir de provoquer une action.
Pensez à un Requête comme une demande d’information lors du développement d’un nouveau produit, par exemple. tel que findProductById.
Les opérations et l’agrégation des requêtes dans le Image sont effectués par un seul microservice. Nous avons un Microservice unique qui peut être divisé en requêtes et instructions, si nécessaire.
Nous pouvons diviser ce microservice en deux autres microservices lors de la mise à l’échelle. Les commandes seront gérées par un microservice et les demandes par un autre microservice.
Type de message :
Intention de changer l’état de l’application.
Ex. CreateProductCommand, UpdateProductCommand, DeleteProductCommand.
L’état et l’exemple de message de commande seront Commande de création de message ou Commande de message de mise à jour ou Commande de message de suppression car une commande est une intention d’apporter une modification. Il est généralement nommé à l’impératif.
Lors de la génération de requêtes, qui reçoivent généralement une amende ou un préfixe Get, l’intention est d’indiquer un besoin d’informations. comme le getUser ou trouverProduit requêtes. Le type de message est un événement qui signifie que quelque chose s’est produit. Par exemple, l’application publiera un événement de produit produit lorsqu’un nouveau produit est créé. Notre application publiera un événement avec le nom « événement de mise à jour du produit » si les détails du produit sont modifiés.
Cadre Axone
Des principes architecturaux comme Conception pilotée par le domaine, CQRS et Architecture pilotée par les événements sont la base du framework Axon. Et sur cette figure, vous pouvez voir comment tous ces principes sont mis en pratique. La commande et la requête sont les deux sections clés de notre application.
Les grands événements persisteront dans le Magasin d’événements, et il tire parti du sourcing événementiel. Pour que d’autres composants intéressés par cet événement le consomment et y agissent, l’API de commande publiera également un événement qui a été conservé dans la base de données des événements.
Un gestionnaire d’événements, qui se trouve du côté de la requête, sera l’un des composants. La base de données de requêtes sera mise à jour avec les nouvelles données une fois qu’elle consommera un événement.
Axon nous offre désormais la possibilité de configurer où stocker nos événements et données en matière de stockage.
Par exemple, nous pouvons choisir de stocker nos événements dans le système de gestion de base de données rationnel conventionnel, tel que PostgreSQL ou MySQL, ou nous pouvons utiliser le magasin d’événements qui nous est proposé par le framework Axon.
Serveur AXON
Pas seulement le cadre, AXON est plus. Cette Architecture inclut également AXON Server.
Axon fournit un Boîte à outils de démarrage rapide afin de vous familiariser avec la configuration requise pour Axon Framework et Axon Server SE (Standard Edition).
Le seul Prérequis pour utiliser le Quick Start est que Java 8+ JRE doit être installé sur votre ordinateur.
AXON Server gère tout le magasin d’événements, et il est même disponible en deux éditions.
- édition standard
- Edition pour entreprise
Ils peuvent fonctionner en grappes et peuvent être étendus à plusieurs régions géographiques.
Avec votre nom d’utilisateur et votre mot de passe, vous pouvez accéder au tableau de bord protégé sur le serveur AXON pour examiner une liste de toutes les applications en cours d’exécution ainsi que leur statut et d’autres informations importantes.
Vous pouvez rechercher un Magasin d’événements sur AXON Server et même regarder les mises à jour en direct lorsque des événements sont ajoutés à la boutique.
Vous pouvez prévisualiser les détails de chaque événement qui s’est produit et a été enregistré dans le magasin d’événements, ainsi que rechercher dans le magasin d’événements à l’aide d’un langage de requête spécialisé.
Conclusion: Nous avons découvert le framework Axon, Axon Server, ce qu’est la séparation des responsabilités des requêtes de commande.
Bon codage !
Source link