$30 off During Our Annual Pro Sale. View Details »

Microservices avec Spring Cloud

Microservices avec Spring Cloud

Introduction aux microservices et exemple de mise en oeuvre avec Spring Cloud.

Florian Beaufumé

September 01, 2019
Tweet

More Decks by Florian Beaufumé

Other Decks in Programming

Transcript

  1. Microservices avec Spring Cloud Florian Beaufumé @fbeaufume 09/2019 v1.1

  2. • Architecte logiciel et expert Java • Freelance • Brown

    bag lunch • @fbeaufume Florian Beaufumé
  3. Monolithe vs microservices @fbeaufume

  4. Un modèle d'architecture basé sur l'utilisation de services indépendants, limités,

    orientés métier et communicants Microservices @fbeaufume
  5. • Cycles de développement indépendants • Builds et livraisons simplifiés

    et moins risqués • Isolation runtime • Configuration fine • Scaling horizontal fin • Robustesse • Migrations techniques • Programmation polyglotte Bénéfices @fbeaufume
  6. • Identification et découper les services et données • Communications

    entre services • Cohérence des données • Event driven • Automatisation • Besoins de monitoring Difficultés @fbeaufume
  7. Spring Kubernetes & Istio Boot Cloud Netflix Solutions @fbeaufume

  8. Spring Cloud @fbeaufume

  9. Client applications Gateway Order Stock Mongo H2 Service registry Config

    server Git Spring Boot Spring Boot Spring Boot Spring Cloud Gateway Spring Boot Netflix Eureka Spring Boot Spring Cloud Config Lookup Register Get config 8081 8082 8080 8888 8761 Architecture Spring Cloud Netflix @fbeaufume
  10. https://github.com/fbeaufume/microshop

  11. pom.xml main application.yml Config server @fbeaufume

  12. @fbeaufume

  13. http://localhost:8888/order/default @fbeaufume

  14. Service registry pom.xml main @fbeaufume

  15. http://localhost:8761/

  16. http://localhost:8761/eureka/apps/order @fbeaufume

  17. Microservice métier pom.xml boostrap.xml @fbeaufume

  18. Load balancer et circuit breaker @Configuration RestConfiguration @Service OrderService 2

    3 4 1
  19. Gateway pom.xml main application.yml @fbeaufume

  20. Routage • Par cookie • Par header • Par host

    • Par date • Etc. @fbeaufume
  21. Filtrage Served GET 'http://localhost:8080/api/orders' as 200 in 16 msec 2

    3 4 5 1
  22. Traces distribuées Gateway Order Stock pom.xml @fbeaufume

  23. http://localhost:9411/zipkin/ Zipkin application.yml @fbeaufume

  24. @fbeaufume

  25. @Component @Aspect ZipkinTracingAspect Interception des méthodes 1 2 3 5

    4
  26. Spring Boot Admin http://localhost:8090/

  27. None
  28. Merci @fbeaufume