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 Balancin...
Search
riywo
September 30, 2012
Programming
3
3.7k
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
410
ServerSchemaCoreAPI
riywo
0
1.5k
Ops Tool made by Perl Beginner #yapcasia 2012
riywo
5
29k
Other Decks in Programming
See All in Programming
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
Swift Updates - Learn Languages 2025
koher
2
490
Rancher と Terraform
fufuhu
2
550
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
620
はじめてのMaterial3 Expressive
ym223
2
890
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
130
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
AWS発のAIエディタKiroを使ってみた
iriikeita
1
190
Laravel Boost 超入門
fire_arlo
3
220
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
3.3k
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
2.4k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How GitHub (no longer) Works
holman
315
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Bash Introduction
62gerente
615
210k
The World Runs on Bad Software
bkeepers
PRO
70
11k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Building an army of robots
kneath
306
46k
GitHub's CSS Performance
jonrohan
1032
460k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Automating Front-end Workflow
addyosmani
1370
200k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
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