高可用 负载均衡 集群部署方案:Keepalived + Nginx + Tomcat
复制global_defs { #notification_email { # localhost@163.com #} #notification_email_from Keepalived@localhost #smtp_server 163@smtp.com #smtp_connect_timeout 30 router_id 192.168.1.101 #MASTER服务器的用负IP地址 } #配置vrrp_script,主要用于健康检查,载均以及检查失败后执行的衡集动作
。 vrrp_script chk_nginx { #健康检查脚本,群部当脚本返回值不为0时认为失败 script "/etc/keepalived/ck_ng.sh" #检查频率,署方以下配置每2秒检查1次 interval 2 #当检查失败后 ,用负将vrrp_instance的模板下载载均priority减小5 weight -5 #连续监测失败3次,才认为真的衡集健康检查失败。并调整优先级 fall 3 #连续监测2次成功 ,群部就认为成功。署方但不调整优先级 rise 2 } #定义对外提供服务的用负VIP vrrp_instance配置 vrrp_instance VI_1 { #指定vrrp_instance的初始状态,亿华云是载均MASTER还是BackUP主要还是看优先级。 state MASTER #指定vrrp_instance绑定的衡集网卡
,最终会通过指定的群部网卡宣告VIP interface ifcfg-eth0 #发送心跳包的建站模板源IP
,可使用绑定的署方网卡IP
,也可以使用本服务器上的其他IP mcast_src_ip 192.168.1.101 #相当于VRID,用于在一个网内区分组播,需要组播域内内唯一
。 virtual_router_id 55 #本机的香港云服务器优先级
,VRID相同的机器中
,优先级最高的会被选举为MASTER priority 100 #心跳间隔 ,下面配置,MASTER会每隔1秒发送一个报文高职组内其他机器
,自己还活着
。服务器租用 advert_int 1 #定义主从的验证方式以及密码
,一般使用PASS(最长8位,超过了只会识别前8位作为密码) authentication { auth_type PASS auth_pass 123456 } #VIP 虚拟 IP 池, 两个节点设置必须一样 virtual_ipaddress { 192.168.1.100/24 } #本vrrp_instance所引用的脚本配置,名称就是vrrp_script 定义的容器名 track_script { chk_nginx } #状态切换,源码下载使用上述配置发送邮件通知 smtp_alert }