ADR 002 : Utilisation de Vert.x 4 pour les opérations asynchrones
Statut
info
Accepté
Contexte
L'application actuelle utilise des mécanismes de gestion de threads traditionnels pour les opérations asynchrones, ce qui entraîne une gestion complexe et parfois des inefficacités. Vert.x 4 est envisagé pour améliorer la gestion des opérations asynchrones et offrir une meilleure scalabilité.
Décision
Nous avons décidé d'utiliser Vert.x 4 pour toutes les opérations asynchrones et réactives de l'application.
- Scalabilité : Vert.x 4 est conçu pour des applications réactives, permettant une gestion efficace des ressources dans des environnements à forte concurrence.
- Simplification : Vert.x offre un modèle de programmation réactif simple, réduisant la complexité par rapport à la gestion manuelle des threads.
- Interopérabilité : Vert.x s'intègre bien avec Quarkus, facilitant son adoption dans notre nouvelle architecture.
Conséquences
-
✅ Avantages :
- Amélioration de la performance et de la scalabilité.
- Simplification du code pour les opérations asynchrones.
- Meilleure utilisation des ressources en environnement cloud.
-
🚫 Inconvénients :
- Courbe d'apprentissage pour l'équipe de développement sur le paradigme réactif.
- Nécessité de refactoriser le code existant pour adopter le modèle réactif de Vert.x.
💡 Alternatives Considérées
- Utilisation de completable futures dans Java 21 : Plus facile à intégrer, mais moins puissant pour des charges de travail très concurrentes.