如何搭建高可用架构(三)--Nginx双主热备(Keepalived实现)
2017-12-15 13:05
821 查看
如何搭建高可用架构(三)–Nginx双主热备(Keepalived实现)
标签(空格分隔): 高可用架构在上篇博文中,学习到了通过Keepalived进行双机主备。解决Nginx服务器的单点故障问题。同时也引发了其他问题:
例如:
1、备机由于如果在未发生故障的情况下,一直处于闲置状态,造成资源浪费
2、主机在高负载的情况下运行,有一定的上限。
3、如果主备机都出现宕机。如何处理?
我们先解决1、2两个问题。
造成备机资源浪费,那我们是否可以让备机也同时参与工作呢?实现Nginx集群。答案当然是可以的,通过对主备机配置两个虚拟ip,在域名解析服务器(DNS)进行轮询分配请求处理的Nginx服务器。
架构图
架构原理图
1、双击均正常工作。用户通过域名访问到DNS域名解析时,通过轮询的方式计算虚拟IP。获取对应的nginx服务器。进行请求转发操作2、当其中的一台机器宕机之后,keepalived动态的将虚拟ip映射到另外一台nginx中工作
keepalived 配置(需配置两个虚拟IP):
一、主机配置
! Configuration File for keepalived #全局配置 global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个 acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc #指定发件人 #smtp_server 192.168.200.1 #指定smtp服务器地址 #smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_DEVEL #运行keepalived机器的一个标识 } vrrp_instance VI_1 { state MASTER #标示状态为MASTER 备份机为BACKUP interface eth0 #设置实例绑定的网卡 virtual_router_id 51 #同一实例下virtual_router_id必须相同 priority 150 #MASTER权重要高于BACKUP 比如BACKUP为99 advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 authentication { #设置认证 auth_type PASS #主从服务器验证方式 auth_pass 8888 } virtual_ipaddress { #设置vip 192.168.0.55 #可以多个虚拟IP,换行即可 } } vrrp_instance VI_2 { state BACKUP #标示状态为MASTER 备份机为BACKUP interface eth0 #设置实例绑定的网卡 virtual_router_id 52 #同一实例下virtual_router_id必须相同 priority 100 #MASTER权重要高于BACKUP 比如BACKUP为99 advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 authentication { #设置认证 auth_type PASS #主从服务器验证方式 auth_pass 8888 } virtual_ipaddress { #设置vip 192.168.0.56 #可以多个虚拟IP,换行即可 } }
二、备机配置
! Configuration File for keepalived #全局配置 global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个 acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc #指定发件人 #smtp_server 192.168.200.1 #指定smtp服务器地址 #smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_DEVEL #运行keepalived机器的一个标识 } vrrp_instance VI_1 { state BACKUP #标示状态为MASTER 备份机为BACKUP interface eth0 #设置实例绑定的网卡 virtual_router_id 51 #同一实例下virtual_router_id必须相同 priority 100 #MASTER权重要高于BACKUP 比如BACKUP为99 advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 authentication { #设置认证 auth_type PASS #主从服务器验证方式 auth_pass 8888 } virtual_ipaddress { #设置vip 192.168.0.55 #可以多个虚拟IP,换行即可 } } vrrp_instance VI_2 { state MASTER #标示状态为MASTER 备份机为BACKUP interface eth0 #设置实例绑定的网卡 virtual_router_id 52 #同一实例下virtual_router_id必须相同 priority 150 #MASTER权重要高于BACKUP 比如BACKUP为99 advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒 authentication { #设置认证 auth_type PASS #主从服务器验证方式 auth_pass 8888 } virtual_ipaddress { #设置vip 192.168.0.56 #可以多个虚拟IP,换行即可 } }
相关文章推荐
- 如何搭建高可用架构(五)--LVS+Nginx配置实现
- 如何搭建高可用架构(二)--Nginx双机主备(Keepalived实现)
- nginx(四) nginx+keepalived 实现主备+双主热备模型的高可用负载均衡代理服务
- nginx+keepalived实现nginx双主高可用的负载均衡
- Nginx + keepalived 实现高可用HA 【双主架构】
- 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
- 如何搭建高可用架构(一) --- Nginx
- 分布式架构高可用架构_Keepalived+Nginx实现高可用Web负载均衡
- 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
- 单机架构升级集群架构--nginx+keepalived主从集群高可用搭建工作记
- 如何搭建高可用架构(四)--负载均衡(LVS实现)
- 如何实现Nginx+Keepalived中Nginx进程的高可用
- 如何实现Nginx+Keepalived中Nginx进程的高可用 推荐
- keepalived双主模式实现nginx高可用及LNAMMP架构
- Linux下搭建Nginx+Keepalived+Redis+Tomcat实现session共享 、负载均衡、高可用
- Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建
- 如何实现Nginx+Keepalived中Nginx进程的高可用
- nginx+keepalived实现nginx双主高可用的负载均衡 推荐
- 分布式架构高可用架构_Keepalived+Nginx实现高可用Web负载均衡
- 如何实现Nginx+Keepalived中Nginx进程的高可用