• 根据功能划分为两大类:高可用和负载均衡html
• 高可用集群一般为两台服务器,一台工做,另一台做为冗余,当提供服务的机器宕机,冗余将接替继续提供服务mysql
• 实现高可用的开源软件有:heartbeat、keepalivedlinux
• 负载均衡集群,须要有一台服务器做为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2台nginx
• 负载均衡器(Load Balancer, LB )是一组可以将IP数据流以负载均衡形式转发到多台物理服务器的集成软件。有硬件负载均衡器和软件负载均衡器之分,硬件负载均衡器主要是在访问网络和服务器之间配置物理负载均衡设备,客户端对物理服务器的访问请求首先会抵达负载均衡设备,而后再由负载均衡设备根据必定的负载算法转发到后端服务器。相比而言,软件负载均衡器不须要特定的物理设备,只需在相应的操做系统上部署具备负载均衡功能的软件便可。git
• 在Opens tack高可用集群部署中,服务的负载均衡和高可用主要有两种主流的实现方案,即 HAProxy+ Keepalived和Pacemaker+HAProxy方案。因为OpenStack服务组件多样,不一样服务均须要进行特定的高可用设计,而且从集群资源统一调度和集群稳定性的角度考虑,后一种方案是多数OpenStack厂商的高可用部署方案首选,可是选用后一方案并不意味着Keepalived在OpenStack高可用集群部署中不被使用。因为Keepalived 的主要做用之一是进行虚拟路由的故障切换,其在Neutron 的L3 高可用设计与实现中起着举足轻重的做用。github
• keepalive经过VRRP(Virtual Router Redundancy Protocl)协议来实现的WEB服务高可用方案,能够利用其来避免单点故障。使用多台节点安装keepalived。其余的节点用来提供真实的服务,一样的,他们对外表现一个虚拟的IP。主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。web
• master经过VRRP向backup发送数据包,backup没接收到VRRP数据包的时候,说明master就宕机了,根据权重接手成为master。算法
是一个基于VRRP(虚拟路由冗余协议)可用来实现服务高可用性的软件方案,避免出现单点故障。Keepalived通常用来实现轻量级高可用性,且不须要共享存储,通常用于两个节点之间,常见有LVS+Keepalived、Nginx+Keepalived组合。sql
Keepalived的项目实现的主要目标是简化LVS项目的配置并加强其稳定性,即Keepalived是对LVS项目的扩展加强。Keepalived为Linux系统和基于Linux 的架构提供了负载均衡和高可用能力,其负载均衡功能主要源自集成在Linux内核中的LVS项目模块IPVS( IP Virtual Server ),基于IPVS提供的4 层TCP/IP协议负载均衡, Keepalived也具有负载均衡的功能,此外, Keepalived还实现了基于多层TCP/IP 协议( 3 层、4 层、5/7 层)的健康检查机制,所以, Keepalived在LVS 负载均衡功能的基础上,还提供了LVS 集群物理服务器池健康检查和故障节点隔离的功能。除了扩展LVS的负载均衡服务器健康检查能力, Keepalived 还基于虚拟路由冗余协议( Virtual Route Redundancy Protocol, VRRP )实现了LVS 负载均衡服务器的故障切换转移,即Keepalived还实现了LVS负载均衡器的高可用性。Keepalived 就是为LVS 集群节点提供健康检查和为LVS 负载均衡服务器提供故障切换的用户空间进程。mongodb
图3-1为Keepalived的原理架构图,从图中能够看到, Keepalived的多数核心功能模块均位于用户空间,而仅有IPVS和NETLINK模块位于内核空间,可是这两个内核模块正是Keepalived 实现负载均衡和路由高可用的核心模块,其中的NETLINK主要用于提供高级路由及其相关的网络功能。Keepalived的大部分功能模块位于用户空间,其中几个核心功能模块的介绍以下。
WatchDog :其主要负责监控Checkers和VRRP子进程的运行情况。
Checkers :此功能模块主要负责真实服务器的健康检查( HealthChecking ),是Keepalived最主要的功能之一,由于HealthChecking是负载均衡功能稳定运行的基础, LVS集群节点的故障隔离和从新加入均依赖于HealthChecking的结果。
VRRPStack :此功能模块主要负责负载均衡器之间的故障切换,若是集群架构中仅使用一个LVS负载均衡器,因为自己不具有故障切换的条件,则VRRPStack不是必须的。
IPVS Wrapper :此模块主要用来发送设定的规则到内核IPVS代码。Keepalived的设计目标是构建高可用的LVS 负载均衡群集, Keepalived在运行中将会经过IPVSWrapper模块调用IPVSAdmin工具来建立虚拟服务器,检查和管理LVS集群物理服务器池。
Netlink Reflector :此功能模块主要用来设定VRRP的VIP地址并提供相关的网络功能,该模块经过与内核中的NETLINK模块交互,从而为Keepalived 提供路由高可用功能。
从Keepalived 的实现原理和功能来看, Keepalived是开源负载均衡项目LVS的加强和虚拟路由协议VRRP实现的集合,即Keepalived经过整合和加强LVS与VRRP来提供高可用的负载均衡系统架构。
• 在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里会有1个master角色和N(N>=1)个backup角色。
• master会经过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。此时就须要根据各个backup的优先级来决定谁成为新的mater。
• Keepalived要有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析,check模块负责健康检查,vrrp模块是来实现VRRP协议的。
• keepalive有三个模块,core负责朱金城的启动,维护和全局配置文件的加载和解析,check负载检查健康,vrrp实现VRRP协议
• 实现负载均衡的开源软件有LVS、keepalived、haproxy、nginx,商业的有F五、Netscaler
• Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,能够利用其来避免单点故障。使用多台节点安装keepalived。其余的节点用来提供真实的服务,一样的,他们对外表现一个虚拟的IP。主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
• MASTER制定为主控制节点,虚拟id两个节点必须相同。delay_loop 指定6秒检测服务状态。
• 设置链接方式为直连方式DR,负载策略为轮叫方式rr,协议是TCP。而后咱们设置了两个提供服务节点的IP和端口。分别为192.168.2.108和192.168.2.109的80端口。也就是网页访问服务。
• 设置备机的配置文件,模式设置为BACKUP,权重修改成50。这样才能够优先让主控制节点接管。
.搭建keepalived服务
咱们使用四个节点来作这个实验,两个充当控制节点,另外两个提供服务。而后用真机的浏览器访问虚拟IP。
1.全部节点要作好解析。
2.时间同步
3.yum源设置好(除了基本的源,高可用等也要添加)
• 准备两台机器130和132,130做为master,132做为backup
• 两台机器都执行yum install -y keepalived
• 两台机器都安装nginx,其中130上已经编译安装过nginx,132上须要yum安装nginx: yum install -y nginx
• 设定vip为100
• 编辑130上keepalived配置文件,内容从https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_keepalived.conf获取
• 130编辑监控脚本,内容从https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/master_check_ng.sh获取
• 给脚本755权限
• systemctl start keepalived 130启动服务
•
• 132上编辑配置文件,内容从https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/backup_keepalived.conf获取
• 132上编辑监控脚本,内容从https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D21Z/backup_check_ng.sh获取
• 给脚本755权限
• 132上也启动服务 systemctl start keepalived
实例:
安装keepalived服务
在机器130和132上面,都把selinux和防火墙关了
[root@localhosts 01]# /etc/init.d/iptables stop
[root@localhosts 01]# setenforce 0
[root@localhosts 01]# yum install -y keepalived
[root@localhosts 02]# yum install -y keepalived
[root@localhosts 01]# ps aux | grep nginx #查看nginx服务
[root@localhosts 02]# rpm -qa |grep nginx #查看nginx服务有没有安装过
[root@localhosts 02]# yum install -y nginx #安装NGINX服务
[root@localhosts 01]# ls /etc/keepalived/keepalived.conf #查看NGINX服务配置文件
[root@localhosts 01]# cat !$ #查看配置文件的内容
[root@localhosts 01]# vim /etc/keepalived/keepalived.conf
[root@localhosts 01]# > !$ #清空原始内容
[root@localhosts 01]]# !vim global_defs { #全局定义的参数 notification_email { #出现错误时候,给邮箱发邮件 aming@aminglinux.com } notification_email_from root@aminglinux.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_nginx { #检测NGINX服务是否正常,检测时间三秒钟 script "/usr/local/sbin/check_ng.sh" interval 3 } vrrp_instance VI_1 { #定义MASTER state MASTER interface ens33 #经过ens33网卡发广播 virtual_router_id 51 #定义路由器的ID priority 100 #权重 advert_int 1 authentication { #认证信息 auth_type PASS auth_pass aminglinux>com } virtual_ipaddress { #绑定的IP地址192.168.130.100 192.168.130.100 } track_script { chk_nginx #检查NGINX脚本 } }
定义监控脚本
检查NGINX脚本是否正常
[root@localhosts 01]]# vim /usr/local/sbin/check_ng.sh #时间变量,用于记录日志 d=`date --date today +%Y%m%d_%H:%M:%S` #计算nginx进程数量 n=`ps -C nginx --no-heading|wc -l` #若是进程为0,则启动nginx,而且再次检测nginx进程数量, #若是还为0,说明nginx没法启动,此时须要关闭keepalived if [ $n -eq "0" ]; then systemctl start nginx n2=`ps -C nginx --no-heading|wc -l` if [ $n2 -eq "0" ]; then echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log systemctl stop keepalived fi fi
[root@localhosts 01]# cat /usr/local/sbin/check_ng.sh #查看NGINX脚本
[root@localhosts 01]# chmod 755 /usr/local/sbin/check_ng.sh #赋予它执行的权限
[root@localhosts 01]# systemctl start keepalived #启动keepalived
[root@localhosts 01]# ps aux |grep keep #查看keepalived服务有没有启动
[root@localhosts 01]# ps aux |grep nginx #查看nginx服务有没有启动
[root@localhosts 01]# /etc/init.d/nginx stop #中止NGINX服务 Stopping nginx (via systemctl): [ 肯定 ] [root@localhosts 01]# !ps #查看nginx服务会不会自动加载,若是出现了nginx,说明会自动加载。 [root@localhosts 01]# less /var/log/messages #查看nginx日志 [root@localhosts 01]# ip add #查看ens33网卡,IP地址192.168.133.100 [root@localhosts 01]# iptables -nvL #查看防火墙 有没有关 [root@localhosts 01]# getenforce #查看selinux有没有关闭 [root@localhosts 02]# iptables -nvL #查看防火墙 有没有关 [root@localhosts 02]# systemctl stop firewalld #关闭firewalld [root@localhosts 02]# getenforce #查看selinux有没有关闭 Permissive [root@localhosts 02]# setenforce 0 [root@localhosts 02]# /etc/keeplived/keepalived.conf [root@localhosts 02]# vi !$ #只须要改一下IP地址就好了 global_defs { #全局定义的参数 notification_email { #出现错误时候,给邮箱发邮件 aming@aminglinux.com } notification_email_from root@aminglinux.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_nginx { #检测NGINX服务是否正常,检测时间三秒钟 script "/usr/local/sbin/check_ng.sh" interval 3 } vrrp_instance VI_1 { #定义MASTER state MASTER interface ens33 #经过ens33网卡发广播 virtual_router_id 51 #定义路由器的ID priority 100 #权重 advert_int 1 authentication { #认证信息 auth_type PASS auth_pass aminglinux>com } virtual_ipaddress { #绑定的IP地址192.168.130.100 192.168.133.100 } track_script { chk_nginx #检查NGINX脚本 } } [root@localhosts 02]#vi /usr/local/sbin/check_ng.sh #时间变量,用于记录日志 d=`date --date today +%Y%m%d_%H:%M:%S` #计算nginx进程数量 n=`ps -C nginx --no-heading|wc -l` #若是进程为0,则启动nginx,而且再次检测nginx进程数量, #若是还为0,说明nginx没法启动,此时须要关闭keepalived if [ $n -eq "0" ]; then systemctl start nginx n2=`ps -C nginx --no-heading|wc -l` if [ $n2 -eq "0" ]; then echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log systemctl stop keepalived fi fi [root@localhosts 02]# chmod 755 !$ #修改权限,方便启动。 [root@localhosts 02]# systemctl start keepalived #启动keepalived服务 [root@localhosts 02]# ps aux |grep keep #查看keep 进程 [root@localhosts 02]# systemctl restart keepalived [root@localhosts 02]# ps aux |grep keep [root@localhosts 02]#
而后访问组的IP,在百度上输入IP:192.168.133.130
查看nginx默认的配置文件的位置
[root@localhosts 01]# cat /usr/local/nginx/conf/vhost #查看NGINX脚本 ld.conf proxy.conf ssl.conf test.com.conf [root@localhosts 01]# cat /usr/local/nginx/conf/vhost/aaa.com.conf [root@localhosts 01]#cat /data/wwwroot/default/index.html [root@localhosts 01]#
[root@localhosts 02]# cat /usr/share/nginx/html/index.html #查看NGINX脚本 backup backup. [root@localhosts 02]# cat /usr/local/nginx/conf/vhost/aaa.com.conf [root@localhosts 02]#cat /data/wwwroot/default/index.html [root@localhosts 02]#
keepalived服务的开启致使nginx关不上
[root@localhosts 02]# ps aux |grep nginx #查看NGINX服务 [root@localhosts 02]# systemctl stop nginx #关闭NGINX服务 [root@localhosts 02]# !ps [root@localhosts 02]# #查看NGINX服务 [root@localhosts 02]# !ps #发现nginx服务没有关闭,运行keepalived服务没有关闭
• 先肯定好两台机器上nginx差别,好比能够经过curl -I 来查看nginx版本
• 测试1:关闭master上的nginx服务
• 测试2:在master上增长iptabls规则
• iptables -I OUTPUT -p vrrp -j DROP
• 测试3:关闭master上的keepalived服务
• 测试4:启动master上的keepalived服务
实例:
[root@localhosts 02]# iptables -A OUTPUT -p vrrp -j DROP # [root@localhosts 02]# iptables -nvL #查看包 [root@localhosts 02]# tail /var/log/messages #查看日志的变化
Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,能够利用其来避免单点故障。使用多台节点安装keepalived。其余的节点用来提供真实的服务,一样的,他们对外表现一个虚拟的IP。主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
1.keepalived的原理图以下所示:
最左边是客户机,它访问咱们的虚拟IP。而后咱们有master(主控制节点)和backup(备用控制节点)。最右边的就是咱们提供服务的真机了。
2.搭建keepalived服务
咱们使用四个节点来作这个实验,两个充当控制节点,另外两个提供服务。而后用真机的浏览器访问虚拟IP。
注意事项:
1.全部节点要作好解析。
2.时间同步
3.yum源设置好(除了基本的源,高可用等也要添加)
如图是咱们的操做控制台:
keepalived的安装包为:
keepalived-1.2.13.tar.gz
两个控制节点分别解压和编译、安装keepalived:
在编译keepalived以前咱们须要安装一些相关的包:
编译keepalived源码包:
这个是咱们的 编译结果:
而后咱们进行安装:
上述的步骤在两个控制节点上都要进行,最后在配置文件中咱们再设定主副节点。
创建软连接,把keepalived的配置文件和服务启动文件连接到指定位置:
设置配置文件:
咱们设置了邮件的发送地址和ip,MASTER制定为主控制节点,虚拟id两个节点必须相同。delay_loop 指定6秒检测服务状态。
设置虚拟ip,这是咱们客户机访问的IP。
这个是剩余的配置文件内容,咱们设置链接方式为直连方式DR,负载策略为轮叫方式rr,协议威TCP。而后咱们设置了两个提供服务节点的IP和端口。分别为192.168.2.108和192.168.2.109的80端口。也就是网页访问服务。
而后咱们设置备机的配置文件,模式设置为BACKUP,权重修改成50。这样才能够优先让主控制节点接管。
而后咱们打开keepalived服务,并查看日志,发现已经识别了192.168.2.110虚拟IP:
在两个提供真机的服务节点上安装arptable_jf软件:
设置arptables的策略:
而后咱们要在两个控制节点上安装ipvsadm软件来监控服务的状态:
若是没法安装的话,查看yum源,设置成以下所示:
在两个提供服务的真机上安装httpd,设置完默认发布内容后启动服务:
而后咱们在主控制节点上查看当前的监控信息:
在真机的浏览器上查看192.168.2.110的信息。由于是轮叫策略,因此会轮换显示192.168.2.108和192.168.2.109的默认发布内容:
3.小结:
这样咱们就搭建了keepalived下的高可用集群。这个的复杂程度要低于heartbeat,在生产环境中也是很是常见的。
注意:
常见问题:
一、备用keepalived起来的前提就是主的keepalived停掉了(宕机、或者nginx起不来等 致使主keepalived服务停掉 vrrp协议不可达),又怎么会出现主和备的keepalived同时存在 并争抢vip资源呢?
能不能举例说明一下 主备的keepalived哪些状况会同时存在呀?
答:这个就是脑裂。 主认为从宕机,从认为主宕机就会出现脑裂。 若是两台机器直接网络异常,好比网卡通讯有问题,或者配置了iptables策略,就会出现脑裂。
二、置方案里有配置 vrrp_strict 这个参数配置这个参数后 vip ping不通
答:理论上配置该参数后,并不会致使vip 不通。
三、keepalived没法启动?
答:查一下它的日志吧,防火墙关闭
四、配置了keepalived,启动keepalived发现没法拉起nginx,防火墙和selinux都关闭了,脚本权限也是755,检查日志是下面的提示?请问这个是什么缘由?
Jan 8 21:41:31 moli_linux2 kernel: keepalived[5650]: segfault at 0 ip (null) sp 00007ffd979d1c88 error 14 in libgcc_s-4.8.5-20150702.so.1[7f232a968000+15000]
Jan 8 21:41:31 moli_linux2 Keepalived_vrrp[5650]: VRRP_Instance(VI_1) removing protocol VIPs.
Jan 8 21:41:31 moli_linux2 Keepalived[2498]: Keepalived_vrrp exited due to segmentation fault (SIGSEGV).
Jan 8 21:41:31 moli_linux2 Keepalived[2498]: Please report a bug at https://github.com/acassen/keepalived/iss
答:你的监控nginx服务的脚本如何写的? 手动执行它是否有错误?
五、卸载从新安装yum install -y keepalived 就好使了。
[root@CentOS7_two ~]# systemctl status keepalived.service
● keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
Active: failed (Result: resources) since 三 2018-04-11 19:48:28 CST; 57s ago
Process: 29330 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
答:从新安装 配置文件内容是否改。
六、Keepalived拉不起check_ng.sh脚本,脚本权限都给了755,防火墙和selinux都清了并已经关闭的。
答:经过check_ng.sh启动的,把配置文件的名称修改正确后,而后把脚本放去另外一个路径来重启keepalived的就能够了。
七、
一、实验发现keepalived.conf配置文件设置了优先级priority嘛,就算主和从keepalived同时启动不会出现脑裂啊 。
好像设置了防火墙才会脑裂
答:1 理论上,同时启动确定不会脑裂的,可是说很差会出现啥未知问题,致使两台机器不通或者其余相似这种状况,最终致使脑裂。
二、 要是生产环境设置了多个VIP,那在lvs_dr_rs.sh脚本中是写成以下格式吗。
........
vip1=192.168.31.110
vip2=192.168.31.111
ifconfig lo:0 $vip1 broadcast $vip1 netmask 255.255.255.255 up
ifconfig lo:1 $vip2 broadcast $vip2 netmask 255.255.255.255 up
........
这样的话,lo:0有好几个IP了,在啥状况下回这样用呢。
八、这个错怎么解决啊,防火墙都关了,vip是一我的用的ip,keepalive能正常起来,可是不能正常服务
答:libipset.so.3 这个文件不存在。
你检查一下有无安装 ipset-devel包
九、VIP的地址是怎么规定的?
答:可用的一个ip。 一般咱们作高可用,局域网环境比较多。 因此这个vip是和两台机器同网段的一个内网ip。
固然,若是用在外网环境下,无所谓在不在一个网段,只要客户端能访问到。
参考连接 :
Keepalived的概述与配置 : https://mp.weixin.qq.com/s/wS-eStjuyRrIbWBUY-108g
高性能集群软件Keepalived之基础知识篇 : https://www.ixdba.net/archives/2017/03/472.htm
搭建高可用负载均衡器: haproxy+keepalived : https://mp.weixin.qq.com/s/qIsotbx7MfvNm4DQwz7Psg
Keepalived高可用集群应用实践 : https://www.jianshu.com/p/1f6e13d3ca9c
keepalived两种场景配置方法 : http://blog.chinaunix.net/uid-30395867-id-5786650.html
Keepalived 系列 :https://www.aliyun.com/jiaocheng/topic_13519.html?spm=5176.100033.1.5.XCkefz
Kubernetes v1.10+Keepalived HA集群墙内部署实践:https://mp.weixin.qq.com/s/rNx7DJ28wer6lxCPTzMX4Q
Keepalived的概述与配置:https://mp.weixin.qq.com/s/wS-eStjuyRrIbWBUY-108g
系统架构师-Keepalived学习笔记 : https://www.jianshu.com/p/ec44af134543
MHA+keepalived(补充) : http://blog.51cto.com/hmtk520/1943865
LVS+Keepalived负载均衡高可用如此简单? 荐 : http://blog.51cto.com/liangey/1631056
haproxy+keepalived负载均衡之主备切换(centos) : https://www.jb51.net/os/RedHat/55468.html
lvs+keepalived+nginx实现高性能负载均衡集群:https://www.cnblogs.com/liuyisai/p/5990645.html
基于Keepalived实现LVS双主高可用集群 荐 : http://blog.51cto.com/scholar/1662430
高可用技术之KeepAlived浅析:https://mp.weixin.qq.com/s/U5EAgIX8Kq_AUCRLTBelWQ
keepalived+mysql实现双主高可用https://www.cnblogs.com/liuyisai/p/5998110.html
linux高级技巧:集群之keepalived http://blog.chinaunix.net/uid-29622064-id-4406581.html
实现基于Keepalived高可用集群网站架构的多种方法(3) : https://www.cnblogs.com/keerya/p/7819970.html
实现基于Keepalived高可用集群网站架构的多种方法 : https://www.cnblogs.com/keerya/p/7819970.html
Haproxy+Keepalived主主高可用 荐 : http://blog.51cto.com/fighter/1254815
keepalived高可用haproxy+varnish+lnmp实现站点搭建与ansible实现 : http://blog.51cto.com/11010461/2143383
HAProxy入门及经常使用配置模拟测试 : http://blog.51cto.com/11010461/2139872
haproxy+keepalived搭建nginx+lamp集群 : http://blog.51cto.com/11638832/1879305
原 haproxy+pecemaker : https://blog.csdn.net/sinat_37757403/article/details/78280188
HAProxy基于KeepAlived实现Web高可用及动静分离 荐 : http://blog.51cto.com/scholar/1665213
keepalived+lvs/nginx 实现调度器高可用 : http://blog.51cto.com/pirateli/1661387
Keepalived+Haproxy双主高可用负载均衡代理动静分离web服务器 : http://blog.51cto.com/linuxgentoo/1557071
Atlas+Keepalived实现MySQL读写分离、读负载均衡 :https://www.jianshu.com/p/3172de8bc709
HAProxy
高性能反向代理软件HAProxy(一)之基本概念 置顶 :http://blog.51cto.com/cuchadanfan/1694844
高性能反向代理软件HAProxy(二)之应用举例 置顶 : http://blog.51cto.com/cuchadanfan/1694860
高性能反向代理软件HAProxy(三)之高可用 置顶 : http://blog.51cto.com/cuchadanfan/1695498
企业实战(4)-实现基于Haproxy负载均衡集群的电子商务网站架构 : http://blog.51cto.com/mozart/2047332
HAproxy+Keepalived负载均衡-高可用web站 : http://blog.51cto.com/jdonghong/1883378
HAproxy负载均衡MYSQL双主 : http://blog.51cto.com/jdonghong/1883376
HAproxy负载均衡WEB : http://blog.51cto.com/jdonghong/1883368
Keepalived+MariaDB10配置+双主+高可用数据库 : http://blog.51cto.com/jdonghong/1883361
LVS-DR+keepalived(——实现WEB站负载均衡和高可用) :http://blog.51cto.com/jdonghong/1883359
Nginx+Keepalived 实现反代 负载均衡 高可用(HA)配置 : http://blog.51cto.com/jdonghong/1883341
Keepalived高可用集群应用场景与配置 : http://blog.51cto.com/xpleaf/1904095
keepalived invalid ttl 故障一例 荐 : http://blog.51cto.com/caiguangguang/933912
企业实战(3)-主从实现基于Keepalived高可用集群网站架构 荐 置顶 : http://blog.51cto.com/mozart/2044127
keepalived健康检查方式 : https://www.cnblogs.com/liang-wei/p/6197411.html
Linux 高可用(HA)集群之keepalived 荐 : http://blog.51cto.com/cuchadanfan/1696588
web集群综合项目keepalived+lvs+lamp+nfs+mysql : http://blog.51cto.com/11638832/1870021
浅谈web应用的负载均衡、高可用、群集 : http://blog.51cto.com/11638832/1870019
项目:web网站NLB负载均衡 : http://blog.51cto.com/11638832/1855858
原 MFS+Keepalived双机高可用热备方案 : https://blog.csdn.net/sinat_37757403/article/details/78327723
LVS+KeepAlived,搭建MySQL高可用负载均衡 荐 : http://blog.51cto.com/diannaowa/1674735
LVS+KeepAlived,RabbitMQ高可用负载均衡 荐 : http://blog.51cto.com/diannaowa/1671623
LVS-DR+Keepalived高可用群集部署 : http://blog.51cto.com/13728740/2161580
搭建LVS-NAT负载均衡群集 : http://blog.51cto.com/13728740/2162111
企业中MySQL高可用集群架构三部曲之MM+keepalived 荐 : https://blog.51cto.com/sumongodb/1953244
原 MooseFS及其高可用部署 : https://blog.csdn.net/sinat_37757403/article/details/78327763
corosync+pacemaker+crmsh实现高可用 荐 : http://blog.51cto.com/zhaochj/1678307
corosync+pacemaker简单实践实现mariadb数据库高可用模型 : http://blog.51cto.com/pirateli/1659075
crosync + pacemaker + (NFS,DRBD,iSCSI)实现MySQL的高可用 荐 :http://blog.51cto.com/guoting/1556503
DRBD原理知识 荐 :http://blog.51cto.com/guoting/1553462
Varnish
Varnish原理和配置详解 : http://blog.51cto.com/guoting/1558305
Varnish 学习笔记总结 : http://blog.51cto.com/pirateli/1659475
Varnish详解与实战 荐 : http://blog.51cto.com/linuxgentoo/1558263
Varnish 实战项目 : https://www.cnblogs.com/keerya/p/7833724.html
Varnish+缓存Web站 +图片+动静分离 : http://blog.51cto.com/jdonghong/1883337
高性能的开源HTTP加速器varnish : http://blog.51cto.com/cuchadanfan/1698830