Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Microservices avec Spring Cloud
Search
Florian Beaufumé
September 01, 2019
Programming
0
31
Microservices avec Spring Cloud
Introduction aux microservices et exemple de mise en oeuvre avec Spring Cloud.
Florian Beaufumé
September 01, 2019
Tweet
Share
More Decks by Florian Beaufumé
See All by Florian Beaufumé
Programmation réactive avec Spring 5 et Reactor
fbeaufume
0
41
Programmation concurrente en Java
fbeaufume
0
27
Nouveautés de Java 8
fbeaufume
0
31
WebSocket avec Java EE 7
fbeaufume
0
24
Other Decks in Programming
See All in Programming
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
200
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
220
Symfony Mapper Component
soyuka
2
730
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
良いユニットテストを書こう
mototakatsu
5
2k
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
fs2-io を試してたらバグを見つけて直した話
chencmd
0
220
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
ドメインイベント増えすぎ問題
h0r15h0
1
220
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
540
nekko cloudにおけるProxmox VE利用事例
irumaru
3
420
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
RailsConf 2023
tenderlove
29
940
Bash Introduction
62gerente
608
210k
Git: the NoSQL Database
bkeepers
PRO
427
64k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
Transcript
Microservices avec Spring Cloud Florian Beaufumé @fbeaufume 09/2019 v1.1
• Architecte logiciel et expert Java • Freelance • Brown
bag lunch • @fbeaufume Florian Beaufumé
Monolithe vs microservices @fbeaufume
Un modèle d'architecture basé sur l'utilisation de services indépendants, limités,
orientés métier et communicants Microservices @fbeaufume
• 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
• 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
Spring Kubernetes & Istio Boot Cloud Netflix Solutions @fbeaufume
Spring Cloud @fbeaufume
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
https://github.com/fbeaufume/microshop
pom.xml main application.yml Config server @fbeaufume
@fbeaufume
http://localhost:8888/order/default @fbeaufume
Service registry pom.xml main @fbeaufume
http://localhost:8761/
http://localhost:8761/eureka/apps/order @fbeaufume
Microservice métier pom.xml boostrap.xml @fbeaufume
Load balancer et circuit breaker @Configuration RestConfiguration @Service OrderService 2
3 4 1
Gateway pom.xml main application.yml @fbeaufume
Routage • Par cookie • Par header • Par host
• Par date • Etc. @fbeaufume
Filtrage Served GET 'http://localhost:8080/api/orders' as 200 in 16 msec 2
3 4 5 1
Traces distribuées Gateway Order Stock pom.xml @fbeaufume
http://localhost:9411/zipkin/ Zipkin application.yml @fbeaufume
@fbeaufume
@Component @Aspect ZipkinTracingAspect Interception des méthodes 1 2 3 5
4
Spring Boot Admin http://localhost:8090/
None
Merci @fbeaufume