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
Scaling event driven systems: Node.js and GraphQL
Search
Bogdan Nedelcu
May 31, 2020
Programming
0
460
Scaling event driven systems: Node.js and GraphQL
Bogdan Nedelcu
May 31, 2020
Tweet
Share
More Decks by Bogdan Nedelcu
See All by Bogdan Nedelcu
Behind GraphQL: A first principles approach
bogdanned
0
450
Graphql on production with AWS
bogdanned
0
490
PiDee Pitch
bogdanned
1
480
Moving a production API from REST & Microservices to GraphQL
bogdanned
0
480
Other Decks in Programming
See All in Programming
CSC509 Lecture 02
javiergs
PRO
0
410
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
140
オープンソースソフトウェアへの解像度🔬
utam0k
11
2.3k
XP, Testing and ninja testing ZOZ5
m_seki
3
570
開発生産性を上げるための生成AI活用術
starfish719
3
360
CSC305 Lecture 03
javiergs
PRO
0
240
Six and a half ridiculous things to do with Quarkus
hollycummins
0
140
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
5
1.7k
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
390
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
990
CSC305 Lecture 04
javiergs
PRO
0
260
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Faster Mobile Websites
deanohume
310
31k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Rails Girls Zürich Keynote
gr2m
95
14k
The Invisible Side of Design
smashingmag
301
51k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Writing Fast Ruby
sferik
629
62k
Transcript
@bogdanned Bogdan Nedelcu 1 Scaling event driven systems: Node.js and
GraphQL Principal Software Engineer Node.js Global Summit 05.31.2020
@bogdanned Once upon a time there was ... 2
@bogdanned … a monolith 3
@bogdanned … split into microservices 4
@bogdanned … choreographed by events 5
@bogdanned Event driven designs are focused on system behaviour rather
than structure. 6
@bogdanned Node.js ... … an asynchronous event-driven runtime 7
@bogdanned How does Node scales? 8
@bogdanned Requirements - performant - cost effective - reliable, fail
safe 9
@bogdanned Node performs well when the amount of CPU work
per request is relatively “small”. 10
@bogdanned Scale Horizontally 11
@bogdanned Running more instances of a non performant app is
not cost effective. 12
@bogdanned Scale Vertically 13
@bogdanned What about … building apps that leverage the hardware
more? 14
@bogdanned Node inherits the Event Loop model that made Javascript
successful in the browser. 15
@bogdanned Worker threads 16
@bogdanned 17
@bogdanned Can I use worker threads for everything? 18
@bogdanned Spawning workers is expensive if done frequently. 19
@bogdanned How can I use this with GraphQL? 20
@bogdanned GraphQL subscriptions: - server: push data to client -
clients: listen to real time messages 21
@bogdanned 22
@bogdanned In the real world ... 23
@bogdanned 24
@bogdanned Demo 25
@bogdanned 26
@bogdanned Future work - deployment to cloud - add performance
hooks - set up profiling 27
@bogdanned Summing Up - node is a perfect fit for
event driven systems - worker threads improve performance - easily go fullstack with GraphQL 28
@bogdanned thank @you 29
@bogdanned Bogdan Nedelcu Entrepreneurial software engineer with a proven track
record across large IT projects within the finance and construction industry. 30