Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
MySQL System design for high availability with MHA and HAproxy
Takeshi Yako
November 26, 2014
Technology
0
2.3k
MySQL System design for high availability with MHA and HAproxy
Takeshi Yako
November 26, 2014
Tweet
Share
More Decks by Takeshi Yako
See All by Takeshi Yako
takeshiyako
0
80
takeshiyako
3
280
takeshiyako
0
5.7k
takeshiyako
0
78
Other Decks in Technology
See All in Technology
uzabase_saas_product
0
110
thockin
3
960
hagyyyy
1
200
mahito
0
240
kentaro
1
730
yamamuteki
3
850
dena_tech
3
620
piazza
0
130
udonyuya
1
570
dena_tech
1
200
1027kg
0
210
ayanadesu
0
420
Featured
See All Featured
swwweet
206
6.9k
chriscoyier
498
130k
garrettdimon
288
110k
mongodb
23
3.9k
sachag
446
36k
brettharned
93
3k
lara
590
61k
smashingmag
230
18k
jponch
103
5.1k
brad_frost
157
6.4k
morganepeng
18
1.2k
chrislema
231
16k
Transcript
MySQL System design for high availability with MHA and HAproxy
2014/11/26 Takeshi Yako
Servers app1 app2 mysql1 mysql2 mysql3 HAproxy App App HAproxy
MySQL Master MySQL Slave MySQL Slave MHA Node MHA Node MHA Node MHA Manager
Read and Write Jeff Kubina Hard Disk
Read HAproxy App App HAproxy MySQL Master MySQL Slave MySQL
Slave 127.0.0.1:3307 127.0.0.1:3307 mysql1:3306 mysql2:3306 mysql3:3306
Write HAproxy HAproxy MySQL Master MySQL Slave MySQL Slave 127.0.0.1:3308
127.0.0.1:3308 mysql1:3306 App App
Health Checks opensource.com Open Health: stethoscope
HAproxy HAproxy HAproxy MySQL Master MySQL Slave MySQL Slave HAproxy
checks MySQL read
MHA MySQL Master MySQL Slave MySQL Slave MHA Manager MHA
checks MySQL Master
Read Failover Simon Cocks Reading a book at the beach
Read Failover step1 HAproxy HAproxy MySQL Master MySQL Slave MySQL
Slave Health Check Fail
Read Failover step2 HAproxy App App HAproxy MySQL Master MySQL
Slave HAproxy detaches down server 127.0.0.1:3307 127.0.0.1:3307 mysql1:3306 mysql3:3306
Write Failover Erin Kohlenberg writing in the journal
Write Failover step1 MySQL Master MySQL Slave MySQL Slave MHA
Manager Health Check Fail
Write Failover step2 MySQL Master MySQL Master MySQL Slave MHA
Manager MHA changes MySQL Master
Write Failover step3 MySQL Master MySQL Master MySQL Slave MHA
Manager MHA changes HAproxy config HAproxy HAproxy
Write Failover step4 HAproxy HAproxy MySQL Slave MySQL Slave 127.0.0.1:3308
127.0.0.1:3308 App App MySQL Master mysql2:3306 HAproxy detaches down server
Thank you
Bibliography mysql-master-ha MHA for MySQL: Master High Availability Manager and
tools for MySQL https://code.google.com/p/mysql-master-ha/ HAproxy The Reliable, High Performance TCP/HTTP Load Balancer http://www.haproxy.org/