Microservices utilisant Spring Boot et Spring Cloud
Publié: 2020-09-04Table des matières
Introduction aux microservices
Les microservices sont de petits services autonomes qui fonctionnent les uns avec les autres pour atteindre un objectif commercial complexe. Ces services sont indépendants et complets, de sorte qu'ils peuvent être construits par différentes équipes de développement, utilisant différents langages de programmation et magasins de données. Les microservices sont évolutifs individuellement et peuvent être déployés automatiquement. Ils sont faciles à entretenir et offrent une plus grande tolérance aux pannes par rapport aux services monolithiques. Pourtant, ils sont faiblement couplés et sont capables d'interagir les uns avec les autres pour atteindre les objectifs d'une application plus large.
Divers outils sont disponibles sur le marché pour vous permettre de créer des logiciels à l'aide d'une architecture de microservices. Spring Cloud et Spring Boot sont des frameworks de microservices Java populaires.
Spring Boot est une plate-forme de développement d'applications avisée construite à l'aide du framework Spring utilisé pour développer des applications Web Java. En même temps, il est personnalisable et vous pouvez le configurer en fonction de vos besoins. Les aspects de base du didacticiel Spring Cloud seront abordés dans ce blog.
Microservices utilisant Spring Boot et Spring Cloud
Ce didacticiel Spring Cloud fournit un aperçu de base de la création d'une application de microservices simple à l'aide de Spring Boot et Spring Cloud. De plus, le didacticiel fournit des liens vers la documentation pertinente qui vous aidera à atteindre vos objectifs d'apprentissage. Vous devrez effectuer les opérations suivantes :
1. Créer un nouveau service à l'aide de Spring Boot à l'aide de Spring Initializer
Selon le didacticiel Spring Cloud, la première étape consiste à créer une structure de projet à l'aide de Spring Initializer. L'initialiseur fournit un moyen rapide d'ajouter toutes les dépendances dont vous avez besoin pour votre projet. Par exemple, vous pouvez choisir le projet Maven, Java et Spring Boot version 2.0.0. Les projets Maven nécessitent un ID de groupe et un ID d'artefact, similaires au package et à la classe en Java.
Vous devrez également choisir des dépendances, par exemple, Web (pour commencer à développer des applications Web), DevTools (facilite le développement d'applications), Actuator (pour surveiller l'application) et Config Client (pour connecter l'application au Spring Config serveur). Une fois toutes les options sélectionnées, vous allez générer le projet. Pour en savoir plus, reportez-vous à la section Démarrer avec Spring Initializer sur la ressource Création d'un service Web RESTful . Reportez-vous à Spring Data JPA pour savoir comment vous connecter à la base de données.

2. Assurez la dénomination et la découverte du service
Tous les microservices doivent être enregistrés pour découvrir quand un autre service de l'architecture les recherche. Par exemple, un service spécifique peut souhaiter rechercher toutes les instances d'un autre service en cours d'exécution dans un environnement particulier. Dans ce tutoriel de printemps sur le cloud , vous apprendrez que le serveur de nommage stocke les informations sur tous les services et leurs instances et fournit les informations à ceux qui les recherchent. Ainsi, cela aide dans le processus de découverte de service. Pour en savoir plus sur l'enregistrement et la découverte de services, reportez-vous à Enregistrement et découverte de microservices avec Spring Cloud et Eureka de Netflix .

Lire: Projets et sujets de démarrage de printemps
3. Invoquer d'autres microservices
Avec Spring Cloud, plusieurs appels doivent être effectués vers d'autres composants et services. Ceci est réalisé en utilisant Feign qui simplifie le processus en vous permettant d'écrire plus facilement des clients de services Web. Pour en savoir plus, consultez Spring Cloud Open Feign .
4. Assurez l'équilibrage de charge
Conformément à ce didacticiel cloud de printemps, Feign fournit également une intégration avec Ribbon, un cadre d'équilibrage de charge côté client. Le ruban permet d'utiliser la configuration Feign pour répartir les appels et les équilibrer entre toutes les instances d'un service auquel un autre service souhaite se connecter. Reportez-vous à Équilibrage de charge côté client avec Ribbon et Spring Cloud pour en savoir plus.
5. Gérer la configuration des microservices de manière centralisée à l'aide de Spring Cloud Config Server
Selon ce tutoriel cloud de printemps, une application utilise plusieurs microservices, plusieurs environnements pour ces microservices, ainsi que diverses instances de ces services s'exécutant dans les environnements. Le serveur de configuration Spring fournit un emplacement centralisé pour stocker les informations de configuration relatives à toutes ces instances de microservices.
Par conséquent, cette configuration est disponible à un seul endroit et doit être utilisée par n'importe quel service de l'architecture. Pour gérer la configuration de manière centralisée, vous définirez les propriétés liées à un nouveau service, puis connecterez le serveur Spring Config associé en utilisant Git comme référentiel de code. Pour en savoir plus, reportez-vous à la documentation Spring Config Overview . Pour savoir comment connecter Spring Config à Git, consultez Spring Cloud Config .
Lisez aussi: Salaire de développeur de printemps en Inde
6. Établir la sécurité avec Spring Cloud
Dans une architecture de microservices, où des centaines de microservices fonctionnent ensemble, il est essentiel d'avoir des contrôles sur l'authentification et l'autorisation. Outre la sécurité, il existe des considérations telles que les métriques, les limites, etc. Une API Gateway permet d'implémenter des fonctionnalités communes à tous les services.

Par exemple, Zuul Server est une application API Gateway qui gère les requêtes et effectue le routage dynamique des applications de microservices. Reportez-vous à Spring Cloud Gateway pour en savoir plus dans ce didacticiel Spring Cloud .
7. Activer la tolérance aux pannes
Une considération importante lors de la mise en œuvre de microservices est que si un composant cesse de fonctionner, l'ensemble de l'application peut s'arrêter. Le framework Hystrix aide à créer des microservices tolérants aux pannes à l'aide desquels vous pouvez facilement mettre à niveau les fonctionnalités lorsqu'un appel de méthode échoue. Cela permet à un microservice de continuer à fonctionner lorsqu'un service connexe échoue, empêchant la défaillance de se produire en cascade et donnant au service défaillant le temps de récupérer.
Découvrez: Cycle de vie du haricot de printemps expliqué
Conclusion
Espérons que ce didacticiel Spring Cloud servira de point de départ essentiel pour vous aider à démarrer.
Si vous souhaitez en savoir plus sur Spring Cloud, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels Full-stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets et missions, IIIT -B Statut d'ancien, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.