我想知道是否可以使用网络交换机实现负载平衡并创建高可用性环境?或者我是否需要在 tomcat 服务器前面安装一个真正的 apache 服务器?
答案1
稍微扩展一下 Guacamole 的回答。
正确的开关设计是一个很大的部分适当的 HA 解决方案。但是,您认为它们会使您的 tomcat 安装实现 HA 是错误的。交换机是第 2 层(有时也是第 3 层)设备,而您谈论的是实现第 7 层 HA。
要获得适当的 HA 解决方案,您需要从底层(第 1 层)向上(第 7 层)查看您的堆栈,并问自己“如果堆栈的这一部分不再存在,会发生什么”。然后,您可以开始为您的堆栈设计可扩展的 HA 解决方案。
从付费的 F5 和 Cisco 设备到开源 HAProxy、LVS 等,市面上有很多不错的选择。但首先您需要评估整个基础设施,准确找出单点故障,然后采取正确的解决方案。在进行一些评估后,您可能会发现有些产品可以修复多个 SPoF,否则您将不得不多买这些产品。
答案2
有许多可用的 Web 服务负载平衡解决方案......
- 许多公司使用F5 BigIP LTM用于负载平衡解决方案。
- 思科高手也是一个选项;参见此 ACE 链接如果上述原来的版本已经失效(思科似乎几乎每个月都会这样做)
还有一些开源解决方案......
该问题的真正答案取决于您计划如何进行负载平衡......它是否取决于您服务器的 http 响应时间、CPU 利用率、带宽、每个 http 会话等......上述选项可能适合您的特定用例,也可能不太好......尽管作为通用解决方案,很难击败 F5。