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
Du réactif au service du pneu connecté
Search
Julien Ponge
April 18, 2019
Programming
0
270
Du réactif au service du pneu connecté
Julien Ponge
April 18, 2019
Tweet
Share
More Decks by Julien Ponge
See All by Julien Ponge
Quarkus Insights 2023-03-06
jponge
0
43
Reactive Streams. 4 Interfaces. Et après ?
jponge
0
20
Scalability and resilience in practice: current trends and opportunities
jponge
0
200
Eclipse Vert.x at BruJUG 2019
jponge
0
150
Bringing Reactive to Enterprise Java Developers
jponge
0
260
Golo LyonJUG 2019
jponge
0
230
Vert.x Montreal JUG 2018
jponge
0
350
Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018
jponge
0
220
Démystifier le réactif et l'orchestration de services avec Vert.x, Kubernetes et Kotlin
jponge
0
220
Other Decks in Programming
See All in Programming
2 週間で Twitter Bot を作ってみた
contour_gara
0
720
雑に思考を整理する技術と効能
konifar
61
30k
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
470
Git Rebase
bkuhlmann
11
1.6k
Ruby Pattern Matching
bkuhlmann
0
930
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
120
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
480
使ってみよう Azure AI Document Intelligence
kosmosebi
2
350
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
290
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.1k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
133
6.3k
Producing Creativity
orderedlist
PRO
338
39k
Visualization
eitanlees
137
14k
The Invisible Side of Design
smashingmag
294
49k
Fantastic passwords and where to find them - at NoRuKo
philnash
38
2.5k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
What's in a price? How to price your products and services
michaelherold
238
11k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
4 Signs Your Business is Dying
shpigford
176
21k
Embracing the Ebb and Flow
colly
80
4.2k
Writing Fast Ruby
sferik
622
60k
How GitHub (no longer) Works
holman
305
140k
Transcript
Du réactif au service du pneu connecté Fabien Pomerol et
Julien Ponge Devoxx France 2019
Fabien Pomerol Julien Ponge @jponge @FabienPomerol
None
None
None
None
SENSORS
ON-BOARD ROUTER MANUAL DEVICES + SMARTPHONE
Building an API to : Collect devices data Process it
Generate Insight
Services Use case? Tyre end of life prediction Security (low
pressure detection) Fleet Management
23 Million Assets > 1 Billion Device Events > 500
Req / sec Low resources footprint
Original Architecture Monolithic REST API Event Producer Web / Mobile
Applications
Split Monolith into Microservices Rewrite using &
Ingestion Service Micro Services !
Ingestion Service Assets Service Micro Services !
Ingestion Service Assets Service Tyre Maintenance Micro Services !
Tyre Maintenance Edge Service Ingestion Service Assets Service Micro Services
!
Insights Service Ingestion Service Assets Service Tyre Maintenance Edge Service
Micro Services !
Ingestion Service Assets Service Alerting Tyre Maintenance Edge Service Insights
Service Micro Services !
Micro Services ! Ingestion Service Assets Service Tyre Maintenance Edge
Service Alerting Insights Service
Vert.x = ?
Blocking I/O don’t scale! Thread request #1 Thread request #2
Resources are scarce! “Cloud native” Virtual machines Containers
Event-loop thread Async I/O do scale! Async events
Reactive Systems Elasticity Resiliency Responsiveness
Reactive Asynchronous Event-driven Toolkit Fast Polyglot Versatile
Ingestion Flow Ingestion Service Event Producer TCP Socket HTTP:// MQTT
{ demo }
Service Aggregation Web / Mobile Applications Edge Service Assets Service
Insights Service http:// http:// http:// Composition
Callback Future CompletionStage Quasar RxJava / RxKotlin Kotlin coroutines Event
{ demo }
Event Driven Microservices Ingestion Service Insights Service Alerting Service Events
splits by topic Consume Pressure Events Publish Computed Insights Consume Insights
{ demo }
Embracing Async Programming was not so easy for the team
Vert.x is unopinionated: easy to be tempted to built Framework / Cathedral Vert.x the hard way!
Keep the Vert.x EventBus usage inside microservices No durability No
back pressure
None
Data Synchronisation Distributed Locks Exactly Once Idempotence Distributed Cache Tracing
A NEW WORLD OF PROBLEMS Data Denormalization Concurrency Control
You can’t survive without monitoring and tracing !
40% off (all Manning) ctwdevoxxfr19
Thank you! Fabien Pomerol et Julien Ponge Devoxx France 2019
Icons made by Freepik, Smashicons from www.flaticon.com