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
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
1
160
Effective Node.js Architectures
Talk given at San Francisco Hacker News group. #SFHN
http://sfhn-dshaw.eventbrite.com
Dan Shaw
March 28, 2013
Tweet
Share
More Decks by Dan Shaw
See All by Dan Shaw
Node.js and the Web Platform
dshaw
0
77
How NodeSource Uses Docker
dshaw
1
150
Node.js in the Enterprise
dshaw
7
9.8k
Moving Node.js Forward
dshaw
1
780
How Node.js Is Changing Engineering
dshaw
0
150
Node.js Now
dshaw
13
7.5k
SFHTML5 Node.js Now
dshaw
0
150
Effective Node.js Architectures
dshaw
0
280
Effective Node.js Architectures
dshaw
1
460
Other Decks in Technology
See All in Technology
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
220
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
180
How to install a gem
indirect
0
1.9k
FastMCP OAuth Proxy with Cognito
hironobuiga
3
220
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
130
AI時代のIssue駆動開発のススメ
moongift
PRO
0
300
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.3k
MIX AUDIO EN BROADCAST
ralpherick
0
120
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
630
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
私がよく使うMCPサーバー3選と社内で安全に活用する方法
kintotechdev
0
140
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
220
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
170
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Mind Mapping
helmedeiros
PRO
1
130
WENDY [Excerpt]
tessaabrams
9
37k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Believing is Seeing
oripsolob
1
99
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
240
The Curse of the Amulet
leimatthew05
1
11k
Paper Plane (Part 1)
katiecoart
PRO
0
6.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
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