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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Julien Ponge
April 18, 2019
Programming
390
0
Share
Du réactif au service du pneu connecté
Julien Ponge
April 18, 2019
More Decks by Julien Ponge
See All by Julien Ponge
Quarkus Insights 2023-03-06
jponge
0
120
Reactive Streams. 4 Interfaces. Et après ?
jponge
0
58
Scalability and resilience in practice: current trends and opportunities
jponge
0
300
Eclipse Vert.x at BruJUG 2019
jponge
0
210
Bringing Reactive to Enterprise Java Developers
jponge
0
350
Golo LyonJUG 2019
jponge
0
290
Vert.x Montreal JUG 2018
jponge
0
530
Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018
jponge
0
290
Démystifier le réactif et l'orchestration de services avec Vert.x, Kubernetes et Kotlin
jponge
0
290
Other Decks in Programming
See All in Programming
Java 21/25 Virtual Threads 소개
debop
0
340
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
520
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
150
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.9k
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
200
Coding as Prompting Since 2025
ragingwind
0
780
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
570
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
「速くなった気がする」をデータで疑う
senleaf24
0
150
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.4k
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
320
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
1
180
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Joys of Absence: A Defence of Solitary Play
codingconduct
1
340
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
670
Optimizing for Happiness
mojombo
378
71k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
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