高可用性。HAProxy Nginx 应用服务器

高可用性。HAProxy Nginx 应用服务器

这种用户连接到https://a.com然后 HAProxy 将 TCP 重定向到集群中定义的服务器之一,然后一旦该服务器获取数据 (NGINX),它将解密 SSL,然后将请求传递给另一台机器上的应用服务器 (COldFusion)。因此,数据基本上要经过 3 台机器,即 HaProxy、NGIX 和最后的 CF。

延迟在这里是一个大问题吗?

答案1

听起来你正在做过早的优化。如果你已经有负载保证了该架构,那么您还应该了解当前服务器的 CPU 负载等事实。

因此,数据基本上要经过 3 台机器,HaProxy、NGIX 和最后的 CF。延迟在这里是一个大问题吗?

通常不会。当然,每一层都会增加一点延迟,但通常它不会超过 10 毫秒,即使使用通用服务器和软件也是如此。

但:

  • 把事情简单化。
  • 保持标准化。

首先怎么做:

             ---------------
Internet ->  | nginx -> CF |
             ---------------

然后后来:

             -------------          ------
Internet ->  | nginx(SSL)| -> | ->  | CF |
             -------------    |     ------
                              |     ------
                              | ->  | CF |
                              |     ------

最后,完整回答您的问题:是的,您的设置确实有意义;当 SSL 解密超出单个服务器的处理能力时。

本质上你建议的是修改版的Willy Tarreau 在这篇出色的负载平衡技术概述中谈到了什么。在许多情况下,可能更简单的方法是在最前端(在 SSL 加速器前面)使用防火墙哈希、路由技巧或 DNS 循环,而不是像您建议的那样在 TCP 模式下使用 HAPRoxy——也许可以考虑这样做。

答案2

我相信你也可以在 HAProxy 级别解密,从而消除对 nginx 的需求。如果 HAProxy 看到很多流量,我想你可能不想承担处理 SSL 的额外负担,但是拥有三台机器似乎比必要的多一台。

相关内容