HAProxy反向代办代庖处事器撑持双机热备撑持虚拟主机,其设置装备摆设简单,拥有很是不错的处事器健康搜检功能。当其代办代庖的后端处事器呈现故障,HAProxy会自动将该处事器摘除,故障恢复后再自动将该处事器插手。
2 l3 P9 A# J% i3 H! S$ F: ^9 l - ] a+ M, n4 \
这里有两台HAProxy机械,分袂安装keepalived,组成热备形式。浸染:当一台有问题,另一台可以在1秒内接管。0 t# h1 O9 O$ W
" ]$ M; ]7 L& S0 B' f3 F
xinetd处事的浸染是检测端口,本文中使用8890端口。HAProxy用http和谈检测这个端口是否正常。
8 r0 r0 U" n K3 N; w s: G
( j2 P$ E1 j5 k MySQL同步状况剧本,是放在从库当地,由xinetd处事来激活剧本,正常就会输出200状况码给HAProxy,证实从库正常;否则,就剔除。(这里就可以加上短信报警了)
% m. b1 j! ~- a# h+ W$ @4 p + ]/ A, ^ {5 G9 t' _! u/ I
系统架构图
+ \+ y% ]: ]: o. r: F9 a% d 4 \1 P. H) n+ l* d" D) k9 q a. e
使用软件
2 b/ H/ E: o' N( |5 ~) P
. m( u5 |# U c% z- B; J HAProxy 1.4.16
" a+ C. b4 W" r& m3 V% R$ c' ^9 S0 y / `& h2 V- Y# L# j$ m1 q, G1 E. v4 _
Keepalived 1.1.20
. |/ g3 v5 g5 {+ ?1 \1 ]
" B' l. N6 K. \' v Xinetd 2.3.14
% e1 v$ j# E' {* o- y. c, q 3 ?5 M; M9 T5 Y
MySQL 同步状况剧本 0.2
+ l8 s2 {/ L3 B y
9 X, c) v h9 p4 @% D9 c# L 一、系统商定0 {6 ^$ v7 s& U( i: u
9 k8 ~: W. s. n$ y9 Y, K; ?# b 系统情形
) T0 Q4 Y( q4 `* R9 q* _
( K) [4 p: x- j% ` OS:CentOS 5.6 x86_641 e3 W2 S) r: _$ x9 {
4 g4 x; O" Q0 r; L# E MASTER:192.168.1.657 ~* }: n7 ]% C
6 e. n6 P8 L5 `) ?3 h/ f3 `' D7 h9 D
BACKUP:192.168.1.66
) ?; f) v& V1 f, V, G% q
1 S: z( B2 h+ }' A3 [* | VIP:192.168.1.67
" _, l2 ?7 w* }- | / t4 a& w' u) n2 U h% {' Z- h. f
serivce Port:33062 S2 |" P) J" f$ R' ~1 r- [6 h$ B
! T( y# z* f6 e; X0 F 工作流程( T) O/ a$ W% m6 }7 V6 o7 H0 _
' ?& D1 c8 Q$ u9 G 筹备工作:应用设置装备摆设好slave的VIP 192.168.1.67 端口3306
& e! u/ j8 q8 v* h1 [6 K 4 C! T* e6 l7 K9 t) y; `* ]% h' A
(1)应用处事器
# Q3 o7 c/ G0 G/ ]+ O7 \" g 7 J2 y6 Z% @7 U' r9 ~
(2)毗连HAProxy的vip 192.168.1.67:3306,按照算法,分配到一台slave。
' N% S1 E( K2 \- _( P) e# _, ~+ |
7 k, n6 j7 v/ m E# O (3)检测slave的8890端口是否返回http 200状况码。' d `- U1 z9 J+ w- q
. o) H2 e% K! ~( w5 T (4)返回200 状况码,HAProxy 返回正常,继续处事。
4 d3 V8 |; Y* i8 O" j( @ x& }1 s+ ] 7 n) n7 p5 D/ o/ s2 W8 N1 ^
(5)返回503,剔除该slave,并将mysql请求转发到此外一台slave。8 n1 o1 k9 N0 H4 i* I* U6 l% H. y6 N
3 M6 N% R# a: H8 A" _3 q0 {
(6)有问题的slave,发送短信报警,相关人员搜检。 |