负载均衡之SSL Farm

SSL Farm
  
在上面的讲解中,我们忽略了一个事情,那就是L7负载平衡服务器对于SSL的支持。在L7负载平衡服务器中,我们常常需要读写请求及响应中的Cookie。但是如果通讯使用的是SSL连接,那么L7负载平衡服务器将无法对请求及响应的内容进行读写操作。
  
解决该问题所曾经使用的一个解决方案就是:将负载平衡服务器以反向代理的方式使用。在这种方案中,负载平衡服务器将拥有服务的证书,并可以通过证书中的密钥对请求进行解密。解密完成后,负载平衡服务器就可以开始尝试读取Cookie中的内容并根据其所记录的信息决定该请求所需要派发到的服务实例。在对该请求进行派发的时候,负载平衡服务器可以不再使用SSL连接,进而使得各个服务实例不再需要再次解密请求,提高服务实例的运行效率。
  
在请求处理完毕之后,服务实例将通过服务实例与负载平衡服务器的非SSL连接返回一个响应。在负载平衡服务器接收到该响应之后,其将会把该响应加密并通过SSL连接发出:
这里写图片描述
但是这样做的问题在于,如果所有对SSL的处理都集中在L7负载平衡服务器上,那么它将会变成系统的瓶颈。绕过该问题的方法就是在L7负载平衡服务器之前使用一系列反向代理来负责SSL的编解码操作。
  
此时整个系统的架构将呈现如下的层次结构:
这里写图片描述
从上图中可以看到,整个解决方案分为了四层。在用户的请求到达了第一层的负载平衡服务器时,其将会把该请求根据自身的负载平衡算法转发给处于第二层的专门负责SSL编解码工作的反向代理。该代理会将传入的由SSL连接所传输的请求由非SSL连接传出。在请求到达第三层时,L7负载平衡服务器可以直接访问这些请求所包含的Cookie,并根据Cookie中的内容决定需要处理该请求的服务实例。
  
这么做的好处有很多。首先就是这些反向代理非常便宜,甚至只有常见负载平衡服务器的1/20左右的价格,却在处理SSL连接上拥有几乎相同的效率。除此之外,这些反向代理还提供了非常良好的扩展性和高可用性。一旦负载平衡系统在处理SSL连接的能力上显得有些吃力,我们就随时可以向系统中添加新的反向代理。而一旦其中一个反向代理失效,那么其它反向代理可以通过多承担一些负载来保证系统的安全运行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
硬件负载均衡和软件负载均衡是两种不同的负载均衡实现方式,它们有一些区别: 1. 实现方式:硬件负载均衡是通过专用的硬件设备来实现负载均衡功能,通常是独立的设备,例如专门的负载均衡器硬件。而软件负载均衡是通过软件程序来实现负载均衡功能,可以运行在通用的服务器上。 2. 性能和可伸缩性:硬件负载均衡器通常具有高性能和高可伸缩性,可以处理大量并发请求,并且能够支持大规模的流量。软件负载均衡器的性能和可伸缩性通常取决于所运行的服务器硬件和软件配置。 3. 管理和配置:硬件负载均衡器通常提供专门的管理界面和配置工具,易于管理和配置。软件负载均衡器可以通过命令行界面或者图形界面进行管理和配置,也可以与其他管理工具集成。 4. 成本:硬件负载均衡器通常需要额外的硬件投资,包括购买专用的负载均衡器硬件设备。软件负载均衡器则可以在现有的服务器上运行,不需要额外的硬件投资。 5. 功能和扩展性:硬件负载均衡器通常提供丰富的功能和扩展选项,如健康检查、SSL终端、DDoS防护等。软件负载均衡器的功能和扩展性可能会受限于所使用的软件程序。 选择硬件负载均衡还是软件负载均衡应根据具体需求和场景来决定。硬件负载均衡适用于大规模流量、高性能要求和高可用性需求的场景。软件负载均衡则更加灵活,适用于中小型应用环境和对成本敏感的场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生(FS)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值