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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
130
Reactive Streams. 4 Interfaces. Et après ?
jponge
0
63
Scalability and resilience in practice: current trends and opportunities
jponge
0
310
Eclipse Vert.x at BruJUG 2019
jponge
0
210
Bringing Reactive to Enterprise Java Developers
jponge
0
350
Golo LyonJUG 2019
jponge
0
300
Vert.x Montreal JUG 2018
jponge
0
550
Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018
jponge
0
300
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
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
誰も頼んでない機能を出荷した話
zekutax
0
150
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
130
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
160
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
440
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
990
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
150
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
210
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
280
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
420
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
12k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
290
Odyssey Design
rkendrick25
PRO
2
640
Designing for humans not robots
tammielis
254
26k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Unsuck your backbone
ammeep
672
58k
KATA
mclloyd
PRO
35
15k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
Raft: Consensus for Rubyists
vanstee
141
7.5k
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