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
460
Other Decks in Programming
See All in Programming
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
How to use Macrobenchmark
veronikapj
0
160
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
SRE チーム立ち上げ前に考えたこと・取り組んだこと / Considerations and Preparations Before Establishing an SRE Team
mackey0225
3
320
CSC307 Lecture 05
javiergs
PRO
0
210
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
Product Management LT会_クアンド新家
shinshin
0
260
CSC307 Lecture 07
javiergs
PRO
0
220
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
KATA
mclloyd
20
13k
Building Your Own Lightsaber
phodgson
101
5.9k
Adopting Sorbet at Scale
ufuk
71
8.8k
Rails Girls Zürich Keynote
gr2m
93
13k
4 Signs Your Business is Dying
shpigford
178
21k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
What's new in Ruby 2.0
geeforr
338
31k
Designing the Hi-DPI Web
ddemaree
276
34k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
Writing Fast Ruby
sferik
623
60k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
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