Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Effective Node.js Architectures
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Dan Shaw
March 28, 2013
Technology
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Effective Node.js Architectures
Talk given at San Francisco Hacker News group. #SFHN
http://sfhn-dshaw.eventbrite.com
Dan Shaw
March 28, 2013
More Decks by Dan Shaw
See All by Dan Shaw
Node.js and the Web Platform
dshaw
0
100
How NodeSource Uses Docker
dshaw
1
180
Node.js in the Enterprise
dshaw
7
9.9k
Moving Node.js Forward
dshaw
1
800
How Node.js Is Changing Engineering
dshaw
0
160
Node.js Now
dshaw
13
7.5k
SFHTML5 Node.js Now
dshaw
0
170
Effective Node.js Architectures
dshaw
0
290
Effective Node.js Architectures
dshaw
1
490
Other Decks in Technology
See All in Technology
Steerable Visual Representations
sansantech
PRO
0
300
AI時代のGraphQL
joere
3
370
Adversary Infrastructure Hunting101
disconinja
0
110
LLM Content Moderationを支える評価・改善ループの実践
suikabar
2
320
sue445's proposals 2026
sue445
0
130
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
430
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
230
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1.1k
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
1
700
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
240
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
390
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
1
240
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Documentation Writing (for coders)
carmenintech
77
5.6k
Embracing the Ebb and Flow
colly
88
5.2k
Become a Pro
speakerdeck
PRO
31
6.3k
Odyssey Design
rkendrick25
PRO
2
880
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
Transcript
Effective Node.js Architectures @dshaw
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
Sticky Sessions Resources • 3rd party infrastructure • HAProxy •
nginx • stud-proxy - Mikeal
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
Consistent Hash Ring Resources • node-hashring - 3rdEden • node-hash-ring
- Brian Noguchi, C++, dated • Build your own
Right for the Task As simple as possible
None
Thank You! <3 dshaw