Les patrons clés pour une architecture de
microservices réussie : registry service,
configuration et Gateway API
3 min read · Feb 19, 2023
Atef MADDOURI Follow
Share
Architecture Générique
Les “patterns” sont des solutions réutilisables à des problèmes courants dans les
architectures de microservices qui peuvent vous aider à créer des applications
fiables et évolutives.
Voici une description de trois patrons couramment utilisés pour ces services clés.
Gateway API
Gateway API est un proxy inverse amélioré avec des fonctionnalités plus avancées,
notamment l’orchestration, la sécurité et le monitoring. Il agit comme un point
d’entrée unique pour les clients externes, ce qui permet de simplifier la gestion des
demandes et de limiter les interactions entre les clients et les différents services.
Un proxy inverse est un serveur qui réçoit les requetes d’un client, les transfére à un
serveur qui peut y repondre et retourne au client les réponses du serveur.
Parmi les implémentations les plus utilisées : Spring Cloud Gateway | Netflix Zuul
Proxy
Netflix Zuul Proxy :
La première version du Zuul a été construit sur le framework Servlet. Il fournit un
traitement synchrone bloquantes des E/S. ce qui signifie qu’il traite les requêtes en
utilisant un thread par connexion, et ce dernier reste bloqué jusqu’à ce que le
traitement ait terminé.
Spring Cloud Gateway :
Ce proxy est fondé sur l’écosystème Reactive Spring et fonctionne sur le serveur
Netty en vue de fournir un traitement asynchrone non bloquant des requêtes. En
outre, il propose une façon à la fois simple et efficace de transmettre les demandes
entrantes à la bonne destination par le biais du Gateway Handler Mapping.
Netflix a publié Zuul 2 basé sur les systèmes réactifs, mais Spring ne l’a pas encore ajouté à
son écosystème. Il a maintenant son propre proxy appelé Spring Cloud Gateway.
Service de configuration: Spring config server
Ce service est pour centraliser la configuration de l’ensemble des micro-services
dans un seul fichier de configuration application.yml qui est généralement stocké
dans un repo GIT. Cela permet de faciliter la gestion de la configuration pour
chaque service et de la mettre à jour plus facilement sans avoir à redéployer le
service.
Au démarrage le micro service demande sa configuration de ce service via les
RESTs.
Service de registration : Registry Eureka Service
Dans le monde des micro services, les services d’enregistrement et de découverte
jouent un rôle important. Puisque nous exécutons très probablement plusieurs
instances de services. Et pour qu’ils puissent communiquer entre eux, chaque micro
service a besoin de connaître l’emplacement du réseau (adresse IP et port) d’un
service donné. En revanche, ces adresses sont attribuées dynamiquement. En outre,
un service peut avoir plus d’une instance qui peut changer dynamiquement à cause
de l’autoscaling, des pannes, etc.
Il nous faut donc un mécanisme d’enregistrement et de découverte automatique
des services.
Le service de registration joue le rôle d’un annuaire qui contient Le nom, l’adresse
et le port de chaque micro-service. Ce dernier(micro-service) s’enregistre
automatiquement lors de son démarrage. Le service API Gateway sollicite ce service
à chaque fois qu’il reçoit une requête pour l’acheminer au bon endroit.
Conclusion
En somme, les patrons pour les architectures de microservices peuvent vous aider à
résoudre des problèmes courants et à créer des applications fiables, évolutives et
sécurisées. Les patrons décrits ici (configuration externe, découverte et
enregistrement des services, Gateway API) sont quelques exemples couramment
utilisés pour les architectures de microservices.
Microservices Spring Software Development Learning
Follow
Written by Atef MADDOURI
65 followers · 9 following
Software Engineer @Be-Ys | IT Teacher @ESPRIT
Open in app Sign up Sign in
No responses yet Search
Write a response
What are your thoughts?
More from Atef MADDOURI
Atef MADDOURI
Data Transfer Object (DTO)
Découvrez comment ce concept clé vous permettra de transférer efficacement les
informations entre différente couches de votre système
Feb 2, 2023 78 1
In Journey 1000 miles by Atef MADDOURI
Manage Different Environments with Maven Profiles
Our web application needs to be periodically run on a test or production environment. Since
you’re working on your local machine, the…
Oct 22, 2023 63
Atef MADDOURI
Dockeriser vos applications Spring Boot
Heureusement, grâce au plugin Maven de Spotify, nous pouvons automatiser ce processus.
Aug 19, 2021 115
In Journey 1000 miles by Atef MADDOURI
Documentez vos APIs avec Swagger 3
Que signifie documentation API ?
Mar 27, 2021 112
See all from Atef MADDOURI
Recommended from Medium
In JavaScript in Plain English by GeekSociety
I Stopped Building Frontends. Now I Use MCP Servers to Let AI Run My
Apps
It’s 2025, and the way we build applications has fundamentally changed.
Jun 2 3.7K 150
Prateek Jain
7 Open Source Diagram-as-Code Tools You Should Try
A hands-on guide to 7 open-source tools that let you draw cloud or application architecture
from code
4d ago 757 16
In Let’s Code Future by TheMindShift
These 40 Open-source Tools Will Replace Half Your Tech Stack (And
Some Tools are Free)
I curated 40 powerful, production-ready open-source tools that every serious developer
should have in their toolbox.
Jun 2 1.5K 27
In Coding Beauty by Tari Ibaba
This new IDE from Google is an absolute game changer
This new IDE from Google is seriously revolutionary.
Mar 11 5.9K 350
In Write A Catalyst by Adarsh Gupta
How I Study Consistently While Working a 9–5 Full-Time Job
No, I don’t wake up at 5 AM. And yes, I have a life.
Apr 21 4.4K 171
In Level Up Coding by Hayk Simonyan
API Design 101: From Basics to Best Practices
Learn the fundamentals of API design and best practices to build clean, scalable, and secure
APIs.
5d ago 117 2
See more recommendations