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.6k
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
400
ServerSchemaCoreAPI
riywo
0
1.5k
Ops Tool made by Perl Beginner #yapcasia 2012
riywo
5
29k
Other Decks in Programming
See All in Programming
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
140
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
1
540
動作確認やテストで漏れがちな観点3選
starfish719
5
870
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
270
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
170
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
0
220
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
140
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
390
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
4
620
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
190
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
200
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
990
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Site-Speed That Sticks
csswizardry
3
310
The Invisible Side of Design
smashingmag
299
50k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Fireside Chat
paigeccino
34
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
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