Fall Omar Jovy Nedved Monka - Kanda Warda Boubaker Oumou Sow Vianney YOVO Sidonie DJUISSI FOHOUO Fabrice NANKAM VODOUNNOU Nicodème Sèlomin Moussa TAMBA ABOUBAKAR Hothia DIAO FatimaDianfou Aicha BENJDIR Cheick Oumar DIAKITE AMOUSSOUGBO Anani Serge Ramiro Kaffo Rodrigue Nzomo Jalil Fonda Yvon MENSAH Nsengimana François Quirin DOSSOU Carles De Souza Djimo Gassama
Joel Aholou Borel Njeunkwe Jean pierre momo Serges YAMAKO Vignon DOSSOU Abderrahmane ZAHI Paul MBUYI Farimata DOUARE Jean Apotre AIKOU Farimata DOUARE Latifatou IYALI paul damien LEKEUFACK TAMEZE OUFFOUET Patrick
Mise en oeuvre de l'architechture Event-Driven Microservice avec Apache Kafka, Spring Cloud et ses Edge Microservices, pour une communicaion service to broker à la place de Service to Service:
-
Spring Cloud Bootstrap (e.g. Bootstrap context and @RefreshScope)
-
Spring Cloud Config : Se positionne comme serveur de distribution des fichiers de configuration.
- Config Server
- Config Client
-
Spring Cloud Netflix
- Discovery : Permet de découvrir les Microservice sur notre serveur. C’est aussi un outil clé pour la gestion des Microservices.
- Eureka Server
- Eureka Client
- Load Balancer
- Ribbon (config et dependance commenté) : Équilibrer les requêtes entre plusieurs instances pour éviter une surcharge d’un serveur
- Circuit Breaker : Définit un ensemble de seuils qui, une fois dépassés, arrêteront l'exécution d'un bloc de code.
- Hystrix : Une API pour la résilience d’applications.
- Discovery : Permet de découvrir les Microservice sur notre serveur. C’est aussi un outil clé pour la gestion des Microservices.
-
Spring Cloud Routing
- Gateway : Le point d’entrée unique pour les API et Microservices.
- OpenFeign : Faire communiquer (synchrone) les microservices grâce à Feign.
-
Spring Cloud Load Balancer : Équilibrer les requêtes entre plusieurs instances pour éviter une surcharge d’un serveur
-
Spring Cloud Observability
- Sleuth : Permet de donner des ID uniques à chaque requête, c'est
- Zipkin Client : permet exposer les traces vers Zipkin Server.
-
Spring Boot Actuator : expose une API qui donne des informations sur le microservice concerné, mais ne propose pas d'interface graphique.
-
Zipkin Server : permet de tracer les requêtes de service en service uniquement si ces services intègrent ses dépendances.
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
Download https://kafka.apache.org the latest Kafka release and extract it:
$tar -xzf kafka_2.13-3.2.0.tgz
$cd kafka_2.13-3.2.0
NOTE: Your local environment must have Java 8+ installed.
Run the following commands in order to start all services in the correct order:
- Start the ZooKeeper service
-Note: Soon, ZooKeeper will no longer be required by Apache Kafka.
$bin/zookeeper-server-start.sh config/zookeeper.properties
or window
$.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
Open another terminal session and run:
-
Start the Kafka broker service
$bin/kafka-server-start.sh config/server.properties
or window
$.\bin\windows\kafka-server-start.bat .\config\server.properties
Once all services have successfully launched, you will have a basic Kafka environment running and ready to use.
mvn spring-boot:run
Ordre recommandé
- config-server
- eureka-server
- springcloudgateway-server
- microservice-produits (deux instances Ex port 8001,8011)
- microservice-commandes-consumer
- microservice-paiement-producer
- clientui