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
400
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
440
Graphql on production with AWS
bogdanned
0
460
PiDee Pitch
bogdanned
1
440
Moving a production API from REST & Microservices to GraphQL
bogdanned
0
450
Other Decks in Programming
See All in Programming
雑に思考を整理する技術と効能
konifar
58
29k
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
120
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
Git Lint
bkuhlmann
4
750
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
480
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
730
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
エンターテイメント業界で利用されるAWS
demuyan
0
210
Featured
See All Featured
KATA
mclloyd
15
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
The Invisible Customer
myddelton
114
12k
Practical Orchestrator
shlominoach
182
9.7k
How to train your dragon (web standard)
notwaldorf
73
5.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
A designer walks into a library…
pauljervisheath
200
23k
Typedesign – Prime Four
hannesfritz
36
2.1k
Producing Creativity
orderedlist
PRO
337
39k
RailsConf 2023
tenderlove
4
540
Web development in the modern age
philhawksworth
202
10k
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