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é - Thomas...
Search
FabienPomerol
January 24, 2020
Programming
0
170
Du réactif au service du pneu connecté - Thomas Segismont / Fabien Pomerol
Given @ SnowCamp 2020
FabienPomerol
January 24, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
Blueskyのプラグインを作ってみた
hakkadaikon
1
520
実はすごいスピードで進化しているCSS
hayato_yokoyama
0
110
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
190
ReadMoreTextView
fornewid
1
370
Effect の双対、Coeffect
yukikurage
5
1.4k
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
130
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
120
複数アプリケーションを育てていくための共通化戦略
irof
10
3.8k
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
Select API from Kotlin Coroutine
jmatsu
1
110
RubyKaigiで得られる10の価値 〜Ruby話を聞くことだけが RubyKaigiじゃない〜
tomohiko9090
0
140
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Six Lessons from altMBA
skipperchong
28
3.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
How STYLIGHT went responsive
nonsquared
100
5.6k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Invisible Side of Design
smashingmag
299
51k
Making Projects Easy
brettharned
116
6.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Balancing Empowerment & Direction
lara
1
290
BBQ
matthewcrist
89
9.7k
Transcript
Du réactif au service du pneu connecté Thomas Segismont et
Fabien Pomerol SnowCamp 2020
Fabien Pomerol Thomas Segismont @tsegismont @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
100 Million Assets > 4 Billion Device Events > 1K
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 Fleet Management Micro Services !
Ingestion Service Tyre Maintenance Micro Services ! Fleet Management
Tyre Maintenance Edge Service Ingestion Service Micro Services ! Fleet
Management
Insights Service Ingestion Service Tyre Maintenance Edge Service Micro Services
! Fleet Management
Ingestion Service Alerting Tyre Maintenance Edge Service Insights Service Micro
Services ! Fleet Management
Micro Services ! Ingestion Service Tyre Maintenance Edge Service Alerting
Insights Service Fleet Management
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 Ingestions Service Event Producer TCP Socket HTTP:/ /
MQTT
{ demo }
Service Aggregation Web / Mobile Applications Edge Service Tyre Management
Insights Service 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
K8S Pod Sizing 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 !
Thank you! Thomas Segismont et Fabien Pomerol SnowCamp 2020 Icons
made by Freepik, Smashicons from www.flaticon.com