从亚马逊到Zillow以及所有其他你喜欢的网站,想想看在这些网站后面有多少台web服务器在处理你的操作,几十台?几百台?
当然,好在你并不需要知道具体数量。
ADC肩负重任
为什么你不需要知道呢?因为应用交付控制器(ADC)会在你和web服务器之间来管理你和任何后端服务器之间的流量。简而言之,ADC控制着web应用到你的交付,它也因此得名。
在应用交付控制器的发展初期,这些设备的处理需求非常大,以至大多数供应商都需要开发自定义ASIC来完成这项工作。这通常意味着高成本,对于较小型企业来说,这些设备太昂贵而负担不起。然而,现在处理能力已经显著提高,拥有先进功能的应用交付控制器可部署在软件中,并可在符合成本效益的通用处理器上运行。这让IT人员可部署现在的ADC作为单独的硬件设备,还可非常有效地作为虚拟设备或托管服务来使用。进一步降低了部署成本,同时不会影响功能。
网络交换机通常被称为网络或LAN交换机,但ADC不是这样。事实上,这个名称随着功能的增加一直在演变,从负载均衡器,到4-7层网络交换机,再到ADC。
ADC工作原理
在起初作为负载均衡器时,应用交付控制器只是做负载均衡的工作。该设备提供单个前端IP地址以让用户交互。事实上,ADC通常只处理入站请求,让web服务器直接响应用户以更有效地利用资源。
在后端,ADC使用多种算法来分配用户到后端web服务器。后端交互最终包含负载均衡器和服务器之间的某种“heartbeat”消息,这让负载均衡器确保它没有将客户信息发送到挂起或不响应或不可用的服务器。
多年来,ADC供应商利用外部客户端和内部服务器之间设备的定位来提高安全性和性能。
ADC选购
鉴于ADC技术已经出现很久,你可以放心选购具有核心功能的ADC。事实上,即使是相对低端的ADC都有很多功能。更高端的ADC(针对具有巨大数据需求的运营商或数据中心)还提供额外的功能,例如IP声誉、应用缓存以及联合身份服务等。然而,由于ADC部署的每个功能都是专有功能,比较ADC产品并不容易。
虽然通过ADC传输的流量(HTTP、FTP、DNS)都是标准化,但并没有标准来确定处理流量的方式。所以,根据采购清单来选购ADC并不可行,重点是在决定购买前测试你所评估的ADC。幸运的是,大多数供应商现在都提供支持用于测试目的的虚拟设备。
ADC功能
下面让我们来看看哪些功能ADC必须拥有以及哪些值得拥有。
应用和内部协议:你会想要确定ADC能够支持企业特定的应用需求,虽然所有的都支持HTTP,但并非全都支持XML。
同时,你的企业可能计划未来迁移到IPv6,所以要确保对IPv6的支持。
SSL卸载:理想情况下,后端服务器的资源应该用于提供应用服务,而不是网络“家政服务”。解密和加密安全套接字层(SSL)会话可消耗大量资源。
很多ADC会让你从单个服务器卸载SSL负担到ADC。SSL(HTTPS)流量终止于服务器,而未加密HTTP流量发送到后端服务器。由于这在你的数据中心范围内进行,通常没有安全问题。后端服务器的CPU和其他资源现在可用于应用处理,而不是处理网络安全任务。
HTTP缓存:同样地,应用服务器可被调用来反复发送相同信息。无论是主页还是最近的新闻文章,数百或数千用户在短时间内请求相同的内容都很不寻常。
很多ADC足够智能可识别对已请求过信息的额外请求,这些信息可进行缓存或保留在ADC,ADC可从其缓存发送数据而不是发送请求到目标服务器来响应客户端。如果操作正确,这可对用户快速响应,同时减少在后端服务器的负载。
应用监控:虽然所有ADC无疑都会提供某种版本的应用监控,但请一定要了解监控的程度。高级监控功能可帮助ADC更智能地平衡其负载。
可扩展性能:你不希望看到为了获得更高性能,你需要更换整个设备。
幸运的是,很多供应商可通过简单的许可证升级来处理性能升级。他们会在开始向你销售可处理超过你需求的吞吐量的产品,并相应地对许可证进行定价。如果你需要更多吞吐量,你可升级你的许可证,而不需要更换或取代任何硬件。另外,如果你正在部署ADC作为虚拟设备或托管服务(这也可能是虚拟设备),你可能需要更多的ADC资源来满足任何高峰需求或处理用户流量的增长。
DDoS保护:分布式拒绝服务(DDoS)攻击可通过向服务器发送大量假请求,让服务器没有足够的资源来处理有效请求,而让服务器崩溃。
这种相同的DDoS攻击也可搞垮你的ADC,让你整个服务器群无法使用。因此,你会希望确保你的ADC可抵御DDoS。
全局负载均衡:根据你的企业以及需求,全局功能可能是你必须拥有的功能。虽然这个功能变得相当复杂,其目的是允许你的后端服务器不仅包含与ADC在相同位置的服务器,还允许服务器位于WAN链接的其他位置。
虚拟设备:虽然不是必须具备的功能,但这是值得拥有的功能,因为你可以将ADC作为虚拟设备来运行。即使你不打算以这种方式部署ADC,使用虚拟设备用于测试目的可方便升级以及维护ADC,你可方便地尝试新代码,而不会影响你的ADC。
数据丢失防护:有些ADC现在提供数据丢失防护(DLP)功能,它们可检查出站数据,根据公司政策标记或阻止违反政策的出站数据。重要的是要记住,DLP可以是非常复杂的功能,它可能不是所有ADC都提供的功能。
总结
在过去,应用交付控制器没有得到广泛部署,但现在情况已经发生改变。如果你只有少数应用服务器(即使它们只服务内部客户端),你都应该考虑部署应用交付控制器。入门级系统成本很低,而带来的优势包括提高最终用户响应时间以及系统可用性,ADC无疑是明智的基础设施投资选择。