Les clients : Différents utilisateurs de différents appareils envoient des demandes.
Fournisseurs d'identité : Ces demandes des clients sont ensuite transmises aux provider d'identité qui authentifient les demandes des clients et les communiquent à la Gateway API. Les demandes sont ensuite communiquées aux services internes via une Gateway API bien définie.
Gatway API : Comme les clients n’appellent pas les services directement, l'API Gateway sert de point d’entrée pour que les clients transmettent les demandes aux microservices appropriés. L'utilisation d'une Gateway API présente les avantages suivants :
Tous les services peuvent être mis à jour sans que les clients le sachent.
Les services peuvent également utiliser des protocoles de messagerie qui ne sont pas conviviaux pour le Web.
La Gateway API peut exécuter des fonctions transversales telles que la sécurité, l'équilibrage de la charge, etc. Après réception des demandes des clients, l’architecture interne consiste en des micro-services qui communiquent entre eux par le biais de messages pour traiter les demandes des clients.
Formats de messagerie : Il existe deux types de messages par lesquels ils communiquent :
Messages synchrones : dans la situation où les clients attendent les réponses d'un service, Micro-services a généralement tendance à utiliser le protocole REST (Representational State Transfer) car il repose sur un protocole sans état, client-serveur et HTTP. Ce protocole est utilisé car il s’agit d’un environnement distribué, chaque fonctionnalité est représentée avec une ressource pour effectuer les opérations.
Messages asynchrones : dans les cas où les clients n'attendent pas les réponses d'un service, Micro-services a généralement tendance à utiliser des protocoles tels que AMQP, STOMP, MQTT. Ces protocoles sont utilisés dans ce type de communication car la nature des messages est définie et les messages doivent être interopérables entre les implémentations.
Le traitement des données : Chaque micro-service possède une base de données privée pour capturer ses données et implémenter les fonctionnalités métier respectives. De plus, les bases de données de Micro-services sont mises à jour uniquement via leur API de service.
Contenu statique : Une fois que les micro-services ont communiqué entre eux, ils déploient le contenu statique dans un service de stockage basé sur un nuage qui peut les livrer directement aux clients via les réseaux CDN (Content Delivery Networks).
Management : Ce composant est responsable de l'équilibrage des services sur les nœuds et de l'identification des défaillances.
Service discovery : Agit en tant que guide de Micro-services pour trouver la voie de communication entre eux, car il gère une liste de services sur lesquels les nœuds sont situés.