欢迎来到长城宽带!请[]
内容页横幅
对nginx做负载均衡实现双机热备
发布时间:2017-07-13 16:00:43    来源:长城宽带    点击:

    第一要说的是,通过nginx被作为负载均衡器的时候,通讯模型特别像LVS-NAT,在有的状态之下,集群节点数量逐步变多,nginx就会变成网络通讯的最难搞的部分,因为全部的应答数据包都一定要经过nginx,一颗400MHz的处理器可以进行100Mbps的连接,所以,在通常的状态之下,网络更加会使LVS Director变成瓶颈。

    在这种情况下,使用LVS-DR比使用nginx做负载均衡器上更可靠一些。使用nginx+keepalived的可行性:Keepalived是Linux下面实现VRRP 备份路由的高可靠性运行件。基于Keepalived设计的服务模式能够真正做到主服务器和备份服务器故障时IP瞬间无缝交接。在新浪动态应用平台 上,Keepalived配合LVS在线上服务中有着很好的稳定性。Nginx是基于Linux 2.6内核中epoll模型http服务器,与Apache进程派生模式不同的是Nginx进程基于于Master+Slave多进程模型,自身具有非常 稳定的子进程管理功能。

    在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠 性,Slave进程所有的业务信号都由主进程发出,Slave进程所有的超时任务都会被Master中止,属于非阻塞式任务模型。在新浪博客应用平台上, 经过将近8个月的运行,没有因为主进程退出或者子进程僵死导致服务中致的故障存在。在生产环境中,任何的机器宕机导致的损失都需要被 降到最低,传统的生产环境中,都是将服务器直接放置在4/7层交换机后面以避免因为服务器或者服务器软件故障导致的服务中止。当前的业务模式下,有许多高 并发的服务需求,Js小文件、高速动态接口、Nginx七层业务,都希望所有的Socket操作能够尽快完成,减少用户的时间等待。4/7层交换机由于负 责了新浪全站多个产品的服务,经常会成为高并发服务应用的一个制约条件。于是,就孕育出了使用Keepalived+Nginx实现双机交叉热备使用公网 ip进行DNS轮询服务的想法,这个方案可以运用于需要高并发服务的所有应用环境。越少的Socket通讯层,数据到达用户桌面的速度越快。1、服务器IP存活检测:服务器IP存活检测是由Keepalived自己本身完成的,将2台服务器配置成Keepalived互为主辅关系,任意一方机器故障对方都能够将IP接管过去。2、服务器应用服务存活检测:一个正常的业务服务,除了保证服务器的状态存活之外,还需要应用业务的存活。之前之所以有Apache服务器因为进程僵死导致HTTP不响应从而影响服 务是因为Apache的进程模式导致的。在Nginx的进程模型下,可以认为只要Nginx进程存活状态,服务就是正常的,于是只需要做到检测进程存活就 能够做到检测服务的存活。Slave进程的健康状态由Nginx自身的Master进程去完成,Master进程的存活可以通过服务器上的专用脚本进行监 测,一旦发现Nginx Master进程异常退出,则立即重新启动Nginx进程,该方案已经在新浪博客系统上运行近半年。3、服务器在线维护:Keepalived的服务IP通过其配置文件进行管理,依靠其自身的进程去确定服务器的存活状态,如果在需要对服务器进程在线维护的情况下,只需要停掉被维护机器的Keepalived服务进程,另外一台服务器就能够接管该台服务器的所有应用。

    上面的可行性的文章转自其他blog,以下是根据上面的方案做的配置笔记,另外,我还没有搞明白keepalived如何防止脑裂,因此,现在,个人觉得,用heartbeat做双机的热备更可靠一些,文章的后面有使用heartbeat做双机热备的配置。方案 一 使用keepalived做nginx负载均衡器的双机热备Keepalived为LVS群集提供强劲的健康检查机制。它实现了一个多层L3、L4、L5/7容错健康检查框架,当有Server Pool宕机后通过socket通知***内核***将 其从Server Pools中剔除,进一步提高Linux Virtual Server project项目的High Availability。同时提供了独立的VRRPv2栈来及时处理 director failover ,及时为LVS集群节点健康检查及LVS directors failover。在这里我们只使用keepalived的vrrp的功能,使主服务器和备份服务器故障时IP瞬间无缝交接。1 安装2 配置文件Master的配置文件vrrp_instance VI_INET1 {state MASTER #(主机为MASTER,备用机为BACKUP)interface eth0 #(HA监测网络接口)mcast_src_ip 192.168.7.191 #(VRRP Multicast广播源地址,分别取主、备机地址,不能取与virtual_ipaddress相同)track_interface { #其他要监测状态的接口eth1}virtual_router_id 53 #(主、备机的virtual_router_id必须相同)priority 200 #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)advert_int 5 #(VRRP Multicast广播周期秒数)Slave的配置文件的意思是将Linux中你想监控的网络接口卡监控起来,当其中的一块出现故障是keepalived都将视为路由器出现故障。启动在启动前先查看IP地址。

    需要注意的是:不能通过ifconfig观察在Master失去作用的时候,Backup就能经由MultiCast地址:224.0.0.18(vrrp的默认地址)这个组播IP,确定这个内容,同时把192.168.7.100这个地址管理起来。不能忘记的是在iptables设置里面需要加入:主/备服务器老外的HA配置关于确认nginx状态的脚本,通过写好的启动脚本,开启的时候确定状态能不能running就可以了,crontab,定时工作。nginx启动脚本。

路由器的密码安全 路由器的密码安全
路由器的密码安全
关于密码安全,还是看你要达到什么等级的防护了。世界上没有绝对安全的密码,只有不值得破译...
搜狗浏览器怎么设置 搜狗浏览器怎么设置
搜狗浏览器怎么设置
搜狗浏览器由搜狗公司开发,基于谷歌chromium内核,力求为用户提供跨终端无缝的使用体验,让...
wifi共享精灵 wifi共享精灵
wifi共享精灵
WIFI共享精灵是一款基于PC无线网卡应用的无线共享软件。通过一键设置,将笔记本变成无线路由...
上海长城宽带官网 上海长城宽带官网
上海长城宽带官网
长城宽带官网为www.gwbnsh.net.cn/长城宽带作为国内首家自主成立的非国家统一管理的民营宽带...
网通 网通
网通
进入网上营业厅之后,首页左侧有个宽带的字样,鼠标移在上面就会显示宽带新装、智慧沃家、宽...
公司局域网设置 公司局域网设置
公司局域网设置
目前很多公司的网络中的PC数量均超过10台:按照微软的说法,一般网络中的PC数目低于10台,则建...
10m宽带下载速度 10m宽带下载速度
10m宽带下载速度
10M宽带是指10Mbps(比特率)。10M宽带的下载速度为1.25MB/秒,10M宽带下载速度的理论数值是1...
天翼宽带 天翼宽带
天翼宽带
天翼宽带的账号是admin,密码也是admin。如果您需要重置您的宽带密码,您只需拨打电信电话100...
QQ浏览器相关设置 QQ浏览器相关设置
QQ浏览器相关设置
QQ浏览器是腾讯官方出品,基于chromium内核开发,可以安装Chrome的扩展,还有微信等众多优质...
360云盘的设置问题 360云盘的设置问题
360云盘的设置问题
360云盘是奇虎360科技的分享式云存储服务产品。为广大普通网民提供了存储容量大、免费、安全...