有一个简单的场景,有两个Web服务器用于冗余和扩展.
但是,如何使两个Web服务器设置完全冗余?我能想到两个解决方案;
>两个Web服务器,一个负载平衡器分散负载.一个额外的负载平衡器机器.但负载均衡器将如何冗余?
>两台机器,每台机器运行Web服务器并运行负载均衡器,将负载分散开来.有两个机器的DNS入口点.负载平衡不需要额外的机器.
你们通常如何解决这类问题?
解决方法
But how do I make a two web-server setup fully redundant?
通常,你没有.通过无缝故障转移使数据库完全冗余很难.完全冗余需要额外的硬件,因此在网站增长到更大之前通常不会实现.
您必须考虑会话状态 – 用户登录状态,购物车内容等.如何处理?
如果您的服务完全无状态(fx静态文件服务而没有为每个用户定制),那么您可以使用DNS Round Robin为您的站点发布2个IP地址,每个服务器一个.
如果您需要更多地控制如何处理故障转移,您可以考虑2个Web服务器,它们通过Windows NLB共享相同的IP地址,或者使用类似Linux-HA,Keepalived等的Linux共享(有几种可能的解决方案).