Bitte beantworten Sie einige Fragen zur Server-Hochverfügbarkeit!
Wenn beispielsweise NGNIX als Zwischenserver und der Reverse-Proxy-Webserver (Tomcat) für den Lastausgleich verwendet wird, gilt dies dann als Hochverfügbarkeit?
Dann hatte ich Angst, dass ngnix hängen bleiben würde, und habe lvs+keepalived als Middleware verwendet, um eine hohe Verfügbarkeit zu erreichen. Aber ich denke, dass lvs auch hängen bleiben könnte. Oder gibt es eine entsprechende Node-Switching-Lösung, wenn LVS ausfällt?
结合keepalived做nginx高可用,具体表现为:发现一个nginx挂了,马上启动第二个nginx接替。
大概的轮廓如下所示:
两台nginx,都绑同一个ip,两台之中,永远都只有一台在用,两台之间,用ka做检测,如果主挂了,从马上接替,从而实现nginx负载均衡高可用。
这个算是高可用。可以横向扩展性能,部分挂掉也能保证业务不中断。
前面四层负载均衡(LVS)+七层负载均衡(nginx)+业务(tomcat、php等)这种架构很常见,每一层都可以用多台来做高可用,也可以去掉部分。具体实现看你们的业务需求吧。
硬件故障,就是用多台机器做高可用来抵御这种风险的。
机房断电,有双路市电+UPS+发电机。如果机房这些不达标,那换机房吧。
交换机挂掉,可以堆叠。
网络挂掉,可以多路光纤接入外加裸纤专线。
如果你们要求非常高,那可以做异地双活、两地三中心啊,地震海啸都不怕。
方案很多,问题只有一个——钱。