Articles

Création de code de transaction de compensation pour Saga Participant

La création d’un code de transaction de compensation pour les participants à Saga est une étape importante pour assurer une expérience de jeu équitable et sécurisée.

La saga Pattern est utilisée pour fournir une intégrité des données entre plusieurs services et le faire pour des transactions potentiellement à long terme. Il existe de nombreux blogs, superficiels car ils tendent à l’être, sur les sagas et les transactions à long terme. Dans cet article, je ne rentrerai pas dans les détails en comparant les avantages et les inconvénients des sagas avec le protocole XA deux phases (2PC), le verrouillage distribué, etc., et je dirai simplement que XA et 2PC nécessitent des verrous distribués (inconvénient) qui gèrent les propriétés ACID de sorte que l’utilisateur puisse simplement exécuter un rollback ou un commit (avantage) alors que les sagas n’utilisent que des transactions locales et n’ont donc pas besoin de verrous distribués (avantage) mais nécessitent que l’utilisateur implémente la logique de compensation, etc. (inconvénient). Comme l’a dit Teddy Roosevelt, «Rien de bon ne vient facilement».

Ce que je ferai, c’est montrer un exemple de code complet d’une application microservices impliquant une saga, y compris la logique de compensation des participants, qui peut être trouvée dans ce dépôt.

La saga pattern est utilisée pour assurer l’intégrité des données entre plusieurs services et pour effectuer des transactions de longue durée. Il existe de nombreux blogs, superficiels, sur les sagas et les transactions de longue durée. Dans cet article, je ne vais pas entrer dans les détails en comparant les avantages et les inconvénients des sagas avec le protocole XA à deux phases (2PC), le verrouillage distribué, etc., et je dirai simplement que XA et 2PC nécessitent des verrous distribués (inconvénient) qui gèrent les propriétés ACID de sorte que l’utilisateur puisse simplement exécuter un rollback ou un commit (avantage), alors que les sagas n’utilisent que des transactions locales et ne nécessitent donc pas de verrous distribués (avantage) mais nécessitent que l’utilisateur implémente la logique de compensation, etc. (inconvénient). Comme l’a dit Teddy Roosevelt : «Rien de bien ne vient facilement».

Ce que je vais faire, c’est montrer un exemple de code complet d’une application microservices impliquant une saga, y compris la logique de compensation des participants, qui peut être trouvée dans ce dépôt.

L’utilisation des sagas pour gérer les transactions de longue durée est une pratique courante dans le développement d’applications microservices. Les sagas sont un moyen efficace de garantir l’intégrité des données entre plusieurs services et de gérer les transactions à long terme. Les sagas sont une bonne alternative aux protocoles XA à deux phases (2PC) et au verrouillage distribué car elles n’utilisent que des transactions locales et ne nécessitent pas de verrous distribués. Cependant, elles nécessitent que l’utilisateur implémente la logique de compensation, etc., ce qui peut être complexe et prendre du temps.

Les sagas sont une excellente solution pour gérer les transactions à long terme car elles offrent une grande flexibilité et une bonne gestion des données. Les sagas sont particulièrement utiles pour les applications qui impliquent plusieurs services car elles peuvent garantir la cohérence des données entre ces services. De plus, les sagas peuvent être facilement mises en œuvre dans un environnement microservices car elles peuvent être facilement intégrées aux services existants. Enfin, les sagas peuvent être facilement mises à jour pour prendre en charge les changements dans le système et ainsi garantir la cohérence des données.

Les sagas sont un outil puissant pour garantir l’intégrité des données entre plusieurs services et pour gérer les transactions à long terme. Bien qu’elles nécessitent une implémentation complexe et prennent du temps, elles offrent une grande flexibilité et une bonne gestion des données. Elles peuvent également être facilement intégrées aux services existants et mises à jour pour prendre en charge les changements dans le système. Les sagas sont donc un excellent outil pour garantir la cohérence des données entre plusieurs services et pour gérer les transactions à long terme.

Source de l’article sur DZONE

Créer des microservices Micronaut avec MicrostarterCLI

Créer des microservices Micronaut avec MicrostarterCLI est une excellente façon de développer des applications modernes et robustes. Essayez-le dès aujourd’hui!

MicrostarterCLI : Outil de développement rapide

Premier Paragraphe

En tant qu’informaticien enthousiaste, je suis ravi de vous présenter MicrostarterCLI, un outil de développement rapide qui permet aux développeurs de générer des codes, des configurations ou des modèles standard réutilisables dont ils ont besoin dans leur application. Dans un article précédent, j’ai décrit un exemple de base pour créer des points de terminaison REST et GraphQL dans une application Micronaut. Cet article démontre un exemple de démarrage d’une application de microservices Micronaut à l’aide de MicrostarterCLI. L’architecture de l’application est la suivante:

Deuxième Paragraphe

Le processus de test commence par la génération des fichiers nécessaires à l’application à l’aide de MicrostarterCLI. Une fois ces fichiers générés, le processus de test peut commencer. La première étape consiste à tester le code généré pour s’assurer qu’il fonctionne correctement et qu’il est conforme aux spécifications. La deuxième étape consiste à tester les API REST et GraphQL générées par MicrostarterCLI. Pour ce faire, nous utilisons un outil appelé Postman. Postman est un outil très utile pour tester les API REST et GraphQL. Il permet de tester rapidement et facilement les API et de vérifier si elles fonctionnent correctement.

Troisième Paragraphe

Une fois le test des API terminé, nous pouvons passer à la dernière étape du processus de test, à savoir le test des performances. Pour ce faire, nous utilisons un outil appelé JMeter. JMeter est un outil très puissant qui permet de tester les performances d’une application en simulant des charges réelles. Il permet également d’analyser les performances de l’application et de repérer les problèmes potentiels. Une fois le test des performances terminé, nous pouvons être sûrs que notre application est prête à être déployée en production.

Source de l’article sur DZONE

Image Source: Pixabay

An API Gateway is an essential component of any microservices architecture. Amazon provides its own API Gateway service, which you can use to enable user access to a microservices application, and manage API communication between microservices. 

Source de l’article sur DZONE

As we said in our introductory post, we’re going to do several posts about Zoomdata microservices. This one covers a brief overview of microservices and the Zoomdata web application.

Zoomdata Microservices, In General

The Zoomdata platform is architected as a set of loosely-coupled Java microservices. Unlike traditional BI, which is deployed as a monolithic application (or possibly entwined in an old-school enterprise service bus), a microservices architecture allows for:

Source de l’article sur DZONE