Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Du réactif au service du pneu connecté - Thomas...
Search
FabienPomerol
January 24, 2020
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Du réactif au service du pneu connecté - Thomas Segismont / Fabien Pomerol
Given @ SnowCamp 2020
FabienPomerol
January 24, 2020
Other Decks in Programming
See All in Programming
AmebaブログはKMPから卒業します
kmars0605
0
180
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
270
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Jetpack Compose Mechanisms
skydoves
3
820
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Docker and Python
trallard
47
4.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The Cult of Friendly URLs
andyhume
79
7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Bash Introduction
62gerente
615
220k
RailsConf 2023
tenderlove
30
1.6k
The Language of Interfaces
destraynor
162
27k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
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