问题描述
对服务器高可用的几个疑点,求解答!
比如ngnix做中间服务器,反向代理web服务器(tomcat)做负载均衡,这算不算高可用?
然后怕ngnix挂掉又用lvs+keepalived做中间件实现高可用,但是我觉得lvs应该也是有可能会挂掉的吧,那这样做有必要吗?还是lvs挂了有对应的节点切换方案?
问题解答
回答1:结合keepalived做nginx高可用,具体表现为:发现一个nginx挂了,马上启动第二个nginx接替。大概的轮廓如下所示:两台nginx,都绑同一个ip,两台之中,永远都只有一台在用,两台之间,用ka做检测,如果主挂了,从马上接替,从而实现nginx负载均衡高可用。
回答2:这个算是高可用。可以横向扩展性能,部分挂掉也能保证业务不中断。
前面四层负载均衡(LVS)+七层负载均衡(nginx)+业务(tomcat、php等)这种架构很常见,每一层都可以用多台来做高可用,也可以去掉部分。具体实现看你们的业务需求吧。
硬件故障,就是用多台机器做高可用来抵御这种风险的。
机房断电,有双路市电+UPS+发电机。如果机房这些不达标,那换机房吧。
交换机挂掉,可以堆叠。
网络挂掉,可以多路光纤接入外加裸纤专线。
如果你们要求非常高,那可以做异地双活、两地三中心啊,地震海啸都不怕。
方案很多,问题只有一个——钱。