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

有用户连接到https://a.com的这种体系结构是否有意义,然后HAProxy将TCPredirect到群集中定义的服务器之一,然后一旦该服务器获取数据(NGINX),它将解密SSL然后将请求传递给另一台机器上的应用程序服务器(COldFusion)。 所以基本上数据是通过3台机器,HaProxy,NGIX和CF。

延迟是一个大问题吗?

这听起来像是在做过早的优化。 如果你已经有了一个保证架构的负载,那么你也应该从你当前的服务器获得关于CPU负载等的事实。

所以基本上数据是通过3台机器,HaProxy,NGIX和CF。 延迟是一个大问题吗?

通常情况下,不。 当然,每一层都会增加一些延迟,但通常情况下,即使使用通用服务器和软件,也不到10毫秒。

但:

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

起初怎么样:

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

然后再说:

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

最后,要完全回答你的问题:是的,你的设置是有道理的。 当单独的SSL解密是多个单一的服务器可以处理。

从本质上讲,你提出了一个Willy Tarreau在这个负载均衡技术的优秀概述中所写的修改版本。 在许多情况下,只要在防火墙散列,路由技巧或DNS Round Robin(在SSL加速器之前)使用,而不是在TCP模式下使用HAPRoxy可能会更简单 – 可以考虑这一点。

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