从haproxy+keepalived到高可用

一、解决的问题

高可用:解决单点问题,及对外的系统不是单点,在一个机器坏掉之后可以由另外一台机器接管工作;
负载均衡:除了由于服务的访问量大需要进行负载均衡提高对外性能外。更主要是通过交叉访问来达到后面服务的真正高可用;

二、具体示例
这里写图片描述
部署图的理解:

1、一台机器上同时安装keepalived和haproxy(如172.17.210.83机器上,keepalived和haproxy都要安装),keepalived负责为该服务器抢占vip(虚拟ip),抢占到vip后,对该主机的访问可以通过原来的ip(172.17.210.83)访问,也可以直接通过vip(172.17.210.103)访问。

2、172.17.210.64上的keepalived也会去抢占vip,抢占vip时有优先级,配置keepalived.conf中的(priority 150 #数值愈大,优先级越高,172.17.210.64上改为120,master和slave上该值配置不同)决定。但是一般哪台主机上的keepalived服务先启动就会抢占到vip,即使是slave,只要先启动也能抢到。

3、haproxy负责将对vip的请求分发到mycat上。起到负载均衡的作用,同时haproxy也能检测到mycat是否存活,haproxy只会将请求转发到存活的mycat上。

4、如果一台服务器(keepalived+haproxy服务器)宕机,另外一台上的keepalived会立刻抢占vip并接管服务。
如果一台mycat服务器宕机,haporxy转发时不会转发到宕机的mycat上,所以mycat依然可用。

三、部署攻略参考

HaProxy+keepalived+mycat集群高可用配置
haproxy+keepalived实现高可用负载均衡

四、替代产品

替代产品其实就是替代这两者的角色,监督争夺IP、或者负载均衡;

扫描二维码关注公众号,回复: 2482815 查看本文章

1、负载均衡

LVS
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。

Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2、存活监督

Heartbeat
Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。
参考Heartbeat (Linux-HA工程的一个组件)

不同方案和软件的对比

参考高性能业务架构解决方案(HAproxy+Keepalived)

猜你喜欢

转载自blog.csdn.net/xihuanyuye/article/details/81193252