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
440
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
480
PiDee Pitch
bogdanned
1
470
Moving a production API from REST & Microservices to GraphQL
bogdanned
0
480
Other Decks in Programming
See All in Programming
Duke on CRaC with Jakarta EE
ivargrimstad
0
410
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
9
2.7k
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
670
Goで作るChrome Extensions / Fukuoka.go #21
n3xem
0
450
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
260
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
240
運用しながらリアーキテクチャ
nealle
0
240
React 19アップデートのために必要なこと
uhyo
8
1.6k
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
180
Jakarta EE meets AI
ivargrimstad
0
890
はじめての Go * WASM * OCR
sgash708
1
130
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
190
Featured
See All Featured
KATA
mclloyd
29
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
The Invisible Side of Design
smashingmag
299
50k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Being A Developer After 40
akosma
89
590k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
560
Navigating Team Friction
lara
183
15k
A better future with KSS
kneath
238
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
We Have a Design System, Now What?
morganepeng
51
7.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
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