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
350
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
84
Reactive Streams. 4 Interfaces. Et après ?
jponge
0
45
Scalability and resilience in practice: current trends and opportunities
jponge
0
280
Eclipse Vert.x at BruJUG 2019
jponge
0
180
Bringing Reactive to Enterprise Java Developers
jponge
0
310
Golo LyonJUG 2019
jponge
0
270
Vert.x Montreal JUG 2018
jponge
0
490
Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018
jponge
0
260
Démystifier le réactif et l'orchestration de services avec Vert.x, Kubernetes et Kotlin
jponge
0
260
Other Decks in Programming
See All in Programming
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1.3k
ReadMoreTextView
fornewid
1
360
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
PT AI без купюр
v0lka
0
230
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
Gleamという選択肢
comamoca
6
700
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
160
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
210
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
2
130
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
540
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
190
Effect の双対、Coeffect
yukikurage
5
1.4k
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Site-Speed That Sticks
csswizardry
10
630
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Designing for Performance
lara
609
69k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Raft: Consensus for Rubyists
vanstee
139
7k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Why Our Code Smells
bkeepers
PRO
337
57k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
A designer walks into a library…
pauljervisheath
206
24k
Git: the NoSQL Database
bkeepers
PRO
430
65k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
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