分类: 系统运维
2013-11-05 11:33:45
Nginx负载均衡 器的总结和思考
在项目实施过程中创造,业务体系
最前端的Cisco PIX535防火墙的外网IP映射的是内网Nginx负载均稀器的内网IP(DNAT),这时的Nginx负载均衡
器的作用相等于整套体系
的枢纽,假如
该做事器发生妨碍
,会导致所有网站无法拜访,以是
我们必要
二台以上的Nginx负载均稀器,以实现妨碍
转移和高可用性。实现的办法有如下:
一、二台Nginx负载均衡
器通过Keepalived形成高可用,防火墙映射的是Keepalived形成的vip所在;keepalived是lvs的扩张形式,陈设
起来非常轻易
,成熟的案例在sina等企业也得到操纵;但Keepalived做不到监控nginx做事级别,即假如
nginx做事瓦解
了,Keepalived也没有办法,固然
可以通过Heartbeat来办理
这个题目
,但Heartbeat本身
就存在着裂脑情况,以是
如今我只是将Heartbeat用于内部测试环境
,生产环境
我如故是用Keepalived。
二、最前端不消
Cisco防火墙映射,而用F5代替
;第二层用二台或二台以上的Nginx负载均衡
器,第三层才是web集群,如许
的好处很明明
:不存在单点Nginx负载均衡
出现妨碍
题目
;但同样错误也很明明
:所有工程的本钱
增进,你的客户和老板很也许非常不满意
。
三、张宴兄采用
的办法是用DNS轮询,二台Nginx负载均衡
器均供给
一个假造
的外网IP对操纵DNS(操纵环境
为悠闲网xoyo.com),二台Nginx上的妨碍
转移通过自身的shell脚本来
实现,具体
请拜见
张宴的《实战Nginx-代替
Apache的高性能web做事器》一书。方案
很适用
,并且
也是线上环境
,但美中不敷
的是我手上的证券体系
,都只有IP,并无DNS域名对应,看来这个必要
跟券商会谈
争夺
了。
四、如今我手上跑的三套在线体系
都是单机Nginx,是由于券商都有值班职员
和监控体系
Nagios,但如许
会增进生产本钱
;我如今想的一个办法是:在Nginx负载均衡
器上开启sendmail做事,运行一个监控shell脚本,每2-5分钟就wget (为了停止Cisco防火墙某些能力
上的限定
,这里采用
内网IP形式)即2分钟或5分钟就主动
去获取一次后端web的某网页一次,假如
正常就啥也不做;假如
发生非常
情况,就向我的139邮箱发送Ctritical警报。由于
139邮箱对应了手机号码,以是
此时手机将会收到报警信息,到达
预警方针。