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
The Shape of Node Architectures at Scale
Search
Dan Shaw
February 27, 2013
Technology
1
240
The Shape of Node Architectures at Scale
Talk given to London Node Users Group. #LNUG
Dan Shaw
February 27, 2013
Tweet
Share
More Decks by Dan Shaw
See All by Dan Shaw
Node.js and the Web Platform
dshaw
0
28
How NodeSource Uses Docker
dshaw
1
120
Node.js in the Enterprise
dshaw
7
9.4k
Moving Node.js Forward
dshaw
1
740
How Node.js Is Changing Engineering
dshaw
0
120
Node.js Now
dshaw
13
7.4k
SFHTML5 Node.js Now
dshaw
0
110
Effective Node.js Architectures
dshaw
0
250
Effective Node.js Architectures
dshaw
1
440
Other Decks in Technology
See All in Technology
NgRx Signal Store
rainerhahnekamp
0
120
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
10
2.1k
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
130
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
350
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
4
190
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
160
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
740
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
150
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
yutakikai
1
150
ChatGPT for IT Service Management (IT Pro)
dahatake
4
260
0→1開発における技術選定において一番大切なこと
bicstone
1
330
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
Code Reviewing Like a Champion
maltzj
513
39k
Side Projects
sachag
451
41k
10 Git Anti Patterns You Should be Aware of
lemiorhan
646
57k
A Modern Web Designer's Workflow
chriscoyier
688
190k
4 Signs Your Business is Dying
shpigford
175
21k
Making Projects Easy
brettharned
108
5.5k
Debugging Ruby Performance
tmm1
70
11k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
76
41k
Statistics for Hackers
jakevdp
789
220k
Transcript
The Shape of Node Architectures at Scale
Daniel D. Shaw @dshaw
I like to build things with Node
Build Node Things • Storify • Spreecast • Node Knockout
• Voxer • The Node Firm
Do Less Well
FP for Distributed Architectures
What do I do? - your processes
Evolutionary Shapes • ALL THE THINGS! • Generalization • Specialization
• One Thing
ALL THE THINGS Mixture
ALL THE THINGS Easy to run, multi-process, single execution point.
Generalization Not all apps need to aspire to be the
next Facebook.
Scale Will you really need it?
Building and Planning Node.js application
Generalization • Express + Socket.io + API • Website +
API • Restify
Am I doing too much?
Trade-offs
Trade-offs • Expensive loads limit conjoined services. • Impact of
exceptions and crashes. • Deployment complexity. • Deployment isolation. • Evolve services independently.
Dumb Clusters Simple Pooling
Dumb Cluster • Static file server • Simple web sites
• Minimal client/server • API server hosts
Pooling Tools • Round Robin DNS • Varnish • Nginx
• HAProxy • ...more node
Pooling Tools • Substack - seaport, etc • Nodejitsu -
node-http-proxy • Poolee - battle tested at Voxer
Distribute Load Data store(s) have the definitive answers
Smarter Clusters Session Affinity
Sticky Sessions
Smart Clusters (Consistent Hash Rings)
Why? Complex interactions or data persistence
Properties of Consistent Hash Rings • Deterministic • Change has
minimal impact on determinism • Crunchy middle?
House of Pain Complexity
Right for the Task As simple as possible
Thank You! <3 dshaw