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
Most Powerful High Availability / Load Balancing #yapcasia 2012
Search
riywo
September 30, 2012
Programming
3
3.5k
Most Powerful High Availability / Load Balancing #yapcasia 2012
riywo
September 30, 2012
Tweet
Share
More Decks by riywo
See All by riywo
Monitoring Casual #2
riywo
1
390
ServerSchemaCoreAPI
riywo
0
1.5k
Ops Tool made by Perl Beginner #yapcasia 2012
riywo
5
28k
Other Decks in Programming
See All in Programming
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
AHC035解説
terryu16
0
710
CSC307 Lecture 06
javiergs
PRO
0
360
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
Trial
cairolibrary720
1
130
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
Terraformテスト入門
msato
0
520
Rust.Nagoya #1
codemountains
0
170
유연한 Composable 설계
l2hyunwoo
0
380
最近追加した型の紹介とその振り返り
aki19035vc
0
170
CSC307 Lecture 10
javiergs
PRO
0
310
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Facilitating Awesome Meetings
lara
46
5.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Teambox: Starting and Learning
jrom
130
8.6k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Faster Mobile Websites
deanohume
303
30k
KATA
mclloyd
20
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Web development in the modern age
philhawksworth
203
10k
Transcript
Most Powerful High Availability Load Balancing Sep, 29, 2012 YAPC::Asia
2012 @riywo
@riywo
http://www.publicdomainpictures.net/view-image.php?image=4314&picture=t-shirt-image
None
None
Talk about.... * Why is this good? * Why is
this bad?
HALB
What?
LB Server Server Server Server
HA Server Server Server Server ✗ Health Check
Same!
Where?
HA LB Web Web Web Web User
HA LB DB DB DB DB Web
HA LB API API API API Web
Anywhere!
How?
BIG-IP ServerIron
LVS
HAProxy
mod_proxy
nginx
ELB
MyDNS
Pros/Cons
Pros Cons H/W Inline (DSR) Powerful Difficult Expensive Proxy Inline
(DSR) Easy to use Performance DNS No proxy Performance Difficult
Pros Cons H/W Inline (DSR) Powerful Difficult Expensive Proxy Inline
(DSR) Easy to use Performance DNS No proxy Performance Difficult
DNS
No Proxy
DNS DB DB DB DB Web 1 2 Weighted-DNS RoundRobin
HA LB
Cache
DNS DB DB DB DB Web 2 Cache 1 3
Cache is Difficult
DNS DB DB DB DB Web Cache ✗ Health Check
DNS DB DB DB DB Web Cache ✗ Health Check
Inconsistent
Solution
Client DNS
DNS DB DB DB DB Web ✗ Health Check
Too many Health Check
DB DB DB DB DNS Web ✗ Health Check DNS
Web DNS Web Health CheckHealth Check
Solution
Eventual Consistent
DB DB DB DB DNS Web ✗ DNS Web DNS
Web Health Check DNS 2 Async 1
How?
DB DB DB DB ✗ MyDNS Web Health Check MyDNS
1 2 Replication MyDNS Web MyDNS Web
Good Points
* Clients know all info * Eventual Consistent * Any
Application:)
Bad Points
* Too much... * Async difficult
Join us! * Perl Mongers * Operation Engineers
Join us! * Perl Mongers * Operation Engineers * Baseball
Players :)
Thanks!
@riywo blog.riywo.com weblog.riywo.com