MicroServices de printemps
Apprenez à créer de superbes microservices et services Web RESTful avec Spring et Spring Boot.
Aperçu
- Installation des outils
- Exemples d'exécution
- Aperçu du cours
- À propos de in28Minutes
- Nos croyances
- Notre approche
- Trouvez-nous
- Autres cours
Introduction
Développer des services Web RESTful est amusant. La combinaison de Spring Boot, Spring Web MVC, Spring Web Services et JPA le rend encore plus amusant. Et c'est encore plus amusant de créer des microservices.
Ce cours comprend deux parties : les services Web RESTful et les microservices.
Les architectures évoluent vers les microservices.
Les services Web RESTful constituent la première étape vers le développement de microservices performants. Spring Boot, en combinaison avec Spring Web MVC (également appelé Spring REST), facilite le développement de services Web RESTful.
Dans la première partie du cours, vous apprendrez les bases des services Web RESTful développant des ressources pour une application de médias sociaux. Vous apprendrez à implémenter ces ressources avec de multiples fonctionnalités : gestion des versions, gestion des exceptions, documentation (Swagger), authentification de base (Spring Security), filtrage et HATEOAS. Vous apprendrez les meilleures pratiques en matière de conception de services Web RESTful.
Dans cette partie du cours, vous utiliserez Spring (gestion des dépendances), Spring MVC (ou Spring REST), Spring Boot, Spring Security (authentification et autorisation), Spring Boot Actuator (surveillance), Swagger (documentation), Maven ( gestion des dépendances), Eclipse (IDE), Postman (client de services REST) et Tomcat Embedded Web Server. Nous vous aiderons à configurer chacun d’entre eux.
Dans la deuxième partie du cours, vous apprendrez les bases des Microservices. Vous comprendrez comment implémenter des microservices à l'aide de Spring Cloud.
Dans cette partie du cours, vous apprendrez à établir une communication entre les microservices, à activer l'équilibrage de charge, la mise à l'échelle et la réduction des microservices. Vous apprendrez également à centraliser la configuration des microservices avec Spring Cloud Config Server. Vous implémenterez Eureka Naming Server et le traçage distribué avec Spring Cloud Sleuth et Zipkin. Vous créerez des microservices de tolérance aux pannes avec Zipkin
Vous apprendrez
- Vous serez capable de développer et de concevoir des services Web RESTful
- Vous configurerez la configuration centralisée des microservices avec Spring Cloud Config Server
- Vous comprendrez comment implémenter la gestion des exceptions, la validation, HATEOAS et le filtrage pour les services Web RESTful.
- Vous mettrez en œuvre l'équilibrage de charge côté client (Ribbon), la mise à l'échelle dynamique (Eureka Naming Server) et une passerelle API (Zuul).
- Vous apprendrez à implémenter le traçage distribué pour les microservices avec Spring Cloud Sleuth et Zipkin
- Vous mettrez en œuvre la tolérance aux pannes pour les microservices avec Zipkin
- Vous comprendrez comment versionner vos services Web RESTful
- Vous comprendrez comment surveiller les services RESTful avec Spring Boot Actuator
- Vous comprendrez comment documenter les services Web RESTful avec Swagger
- Vous comprendrez les meilleures pratiques en matière de conception de services Web RESTful
- Utilisation de Spring Cloud Bus pour échanger des messages sur les mises à jour de configuration
- Simplifiez la communication avec d'autres microservices à l'aide du client Feign REST
Détails étape par étape
Référez-vous à chaque étape
Attentes
- Vous devez connaître Java et Spring.
- Une compréhension de base du développement d’applications Web est un bonus mais PAS obligatoire.
- Une compréhension de base de Spring Boot est un bonus mais PAS obligatoire. Nous avons une section séparée pour présenter Spring Boot.
- Une compréhension de base de JPA est un bonus mais PAS obligatoire. Nous avons une section séparée pour présenter JPA.
- Vous n'êtes PAS censé avoir d'expérience avec Eclipse, Maven ou Tomcat.
- Nous vous aiderons à installer Eclipse et à être opérationnel avec Maven et Tomcat.
Installation des outils
- Eclipse et Maven intégré
- Facteur
- Client Git - https://git-scm.com/
- Lapin MQ - https://www.rabbitmq.com/download.html
Installation d'Eclipse et de Maven intégré
- Vidéo d'installation : https://www.youtube.com/playlist?list=PLBBog2r6uMCSmMVTW_QmDLyASBvovyAO3
- Dépôt GIT pour l'installation : https://github.com/in28minutes/getting-started-in-5-steps
- PDF : https://github.com/in28minutes/SpringIn28Minutes/blob/master/InstallationGuide-JavaEclipseAndMaven_v2.pdf
Installation de Rabbit MQ
Fenêtres
- https://www.rabbitmq.com/install-windows.html
- https://www.rabbitmq.com/which-erlang.html
- http://www.erlang.org/downloads
- Vidéo - https://www.youtube.com/watch?v=gKzKUmtOwR4
Mac
- https://www.rabbitmq.com/install-homebrew.html
Exemples d'exécution
- Téléchargez le zip ou clonez le référentiel Git.
- Décompressez le fichier zip (si vous en avez téléchargé un)
- Ouvrez l'invite de commande et modifiez le répertoire (cd) vers le dossier contenant pom.xml
- Ouvrir l'éclipse
- Fichier -> Importer -> Projet Maven existant -> Accédez au dossier dans lequel vous avez décompressé le zip
- Sélectionnez le bon projet
- Choisissez le fichier de l'application Spring Boot (recherchez @SpringBootApplication)
- Faites un clic droit sur le fichier et exécutez en tant qu'application Java
- Vous êtes tous prêts
- Pour obtenir de l'aide : utilisez notre guide d'installation - https://www.youtube.com/playlist?list=PLBBog2r6uMCSmMVTW_QmDLyASBvovyAO3
Diagrammes
Dépannage
- Reportez-vous à notre guide de dépannage - https://github.com/in28minutes/in28minutes-initiatives/tree/master/The-in28Minutes-TroubleshootingGuide-And-FAQ
Listes de lecture Youtube - Plus de 500 vidéos
Cliquez ici - Plus de 30 listes de lecture avec plus de 500 vidéos sur Spring, Spring Boot, REST, les microservices et le cloud
Continuez à apprendre en 28 minutes
in28Minutes crée des solutions étonnantes pour vous permettre d'apprendre Spring Boot, Full Stack et le Cloud - Docker, Kubernetes, AWS, React, Angular, etc. - Découvrez tous nos cours ici