第八章 应用案例

到目前为止,我们已经讨论了负载均衡器的多种功能,比如服务器的负载均衡、广域网负载均衡、防火墙负载均衡和高速缓存的负载均衡。本章,我们来看一下综合这些功能的应用案例,讨论在一个完整的方案设计里面如何同时使用多种功能。
本章提供了两个网络设计的实例,首先是一个企业的案例,需求是开发一个安全、可扩展的网络结构包括一个对外提供访问的高性能的Web站点;第二,我们将讨论内容分发网络(CDN)的概念,如何使用负载均衡器来搭建内容分发网络。
8.1企业网络
图8.1是一个企业网络中跟Web服务器相关的拓扑图。首先是连接到互联网的边缘路由器,防火墙部署在边缘路由器的后面保护内部网络。所有的应用包括Web服务器、FTP服务器和数据库服务器都部署在内部网络中。内部网络中的交换机连接到企业内部的局域网,连接所有的用户桌面计算机。
图8.1 企业网络网络结构
利用我们已经学习过的负载均衡的概念,我们可以改进图8.1中所示的网络以提高可用性、可扩展性和可管理性。首先,我们部署两个边缘路由器,选择使用两个不同服务提供商的Internet接入,如图8.2所示。然后使用两个或多个防火墙部署防火墙的负载均衡,来扩展防火墙的性能防止防火墙单点故障,如图8.2所示。尽管我们开始只用了两个防火墙,后期可以随时透明的增加防火墙而不用中断任何服务。图8.1在最开始的设计中,企业的内部网都在同一个安全区中。但是在真实的环境中,存在两个不同类型的访问控制区域。Web服务器和FTP服务器放在一个安全区域内允许外网用户访问。数据库服务器、内部网服务器或者用户桌面计算机放在一个安全区域,不允许任何外网用户访问。进一步考虑到提高安全性,我们可以部署多区域防火墙的负载均衡,把Web服务器、FTP服务器移到DMZ区。如果不想用,或者防火墙没有足够的接口来支持部署多个安全区域,还可以考虑两组防火墙负载均衡。当然,这需要增加防火墙和负载均衡器的数量。
图8.2 企业网络-防火墙负载均衡和冗余边缘路由器介绍
防火墙负载均衡之后,我们就可以部署服务器的负载均衡来提高服务器的扩展性、可用性和可管理性。我们可以为DMZ和企业内网服务器使用高可用的网络结构。如图8.3所示:我们使用一对负载均衡器完成Web服务器的负载均衡。在一个负载均衡器上同时运行防火墙的负载均衡和服务器的负载均衡需要负载均衡器具备许多复杂的处理机制和智能。不同的负载均衡产品对这些功能的支持程度都不一样。有些产品也许只能支持无状态的的防火墙负载均衡或者这些产品在设计的时候就没有考虑有状态切换。必须要跟负载均衡器厂商确认所支持的功能。不管怎样,在一对负载均衡器上面同时运行防火墙的负载均衡和服务器的负载均衡减少了所需负载均衡设备的数量,但是可能会要求更加强大、成熟的产品。如果选择使用多区域防火墙负载均衡的实现方法,我们需要在每个区域都使用负载均衡器完成服务器的负载均衡。总的说来,这仍然是理想的网络设计,而不是一个真正的网络设计。在真正的网络设计中,还必需考虑其他的很多因素。例如:如果负载均衡器没有足够多的端口连接所有的服务器,或者每个端口的费用很高,就需要使用二层交换机来连接服务器,如第四章高可用设计中所示。
图8.3 企业网络-服务器负载均衡介绍
为了更进一步提高Web站点的性能,我们可以部署透明的反向代理高速缓存。如果认为高速缓存产品足够安全可以部署在防火墙的外面,我们可以直接把高速缓存连接到边缘路由器后面的负载均衡器,如图8.4所示。这允许高速缓存频繁访问静态内容,并为防火墙和服务器卸载这些流量。如果认为高速缓存并不是足够安全,我们可以把高速缓存部署在负载均衡器上面。所以必须评估高速缓存产品的安全特性,选择合理的部署方式。在图8.4所示的设计结构中,防火墙左边的负载均衡器同时完成防火墙的负载均衡和透明的高速缓存交换。可以配置负载均衡器识别所有从外网发起的、目的端口是80、访问特定Web服务器IP地址的请求首先转发到高速缓存。如果高速缓存上面没有相应的内容,它会发起一个请求到Web服务器。高速缓存发起的请求将穿透防火墙的负载均衡和服务器的负载均衡到达Web服务器。
图8.4 企业网络-透明反向代理服务器介绍
最后,我们可以在不同的数据中心部署Web服务器,使用第五章讲到的广域网服务器负载均衡防止由于电力故障或者自然灾害造成的某个数据中心彻底的数据丢失。
针对学校用户桌面计算机访问外部互联网任意的Web请求,可以在数据中心部署负载均衡器完成透明的高速缓存交换。
8.2内容分发网络
内容分发网络本质上讲就是一个网络,能够贴近用户分发内容,提供更快的、一致的响应时间。CDN有不同的种类。我们将讨论三个不同的例子,第一个例子是在全球有多个分支机构的大型企业网络;然后看看一个内容提供商比如Yahoo或者.com 公司,比如Amazon,是如何加速内容的分发,为用户提供一致的响应时间的;第三个例子讨论CDN服务提供商如何为内容提供商提供内容分发服务。
8.2.1 企业的CDN
假设有一个大型企业,在全球范围内有多个分支机构,雇佣了成千上万名员工。所有的分支机构都通过分支机构跟总部之间的安全可靠的专线相互连接。公共互联网的接入仅限总部或者几个大的分支结构。因此,分支机构的用户访问Internet或者内网服务器,所有的请求必须经过专线。我们可以在每个分支结构使用透明的Cache交换来加速Internet或者Intranet访问的响应时间,如图8.5所示。所有的静态内容都由每个分支结构部署的高速缓存提供,以改善响应时间,减轻分支机构到总部广域网线路的压力。通过使用流媒体高速缓存,我们也可以在进行远程培训的时候把视频流或者音频流从公司总部广播到分支机构每个的每个用户。流一旦从公司总部发送到分支结构的高速缓存,高速缓存就可以为该分支机构的所有用户提供服务。这样可以提高流媒体的质量,减少抖动,消耗更少的广域网带宽。
图8.5 企业的CDNs
8.2.2 内容提供商
内容提供商或者电子商务站点为了获得竞争优势,希望为最终用户提供最快的响应时间。如果内容能够更加接近最终用户,我们就能够加快响应时间,让它变得更有预见性。例如:如果foo.com所有的Web服务器都放在纽约,那么全世界的用户都需要穿过许多互联网服务提供商的链路才能到达纽约的数据中心。如果内容存放在每个国家或者在某些国家会怎么样呢?一个特定国家的用户不需要穿过那么多服务提供商的链路找到Web页面。Foo.com可以在每个国家或某些国家部署Web服务器,但是那样管理起来比较困难。当Web页面内容改变之后,不同国家的所有服务器也必须要更新。除了在全世界设置服务器之外,如果foo.com在全球不同数据中心部署透明反向代理高速缓存会怎么样呢?高速缓存本质上就是所有静态内容智能的镜像。高速缓存使用多种机制检查页面是否是最新的,并自动更新。
一旦在全球范围内部署完反向代理高速缓存之后,为了提供最快的响应时间,我们必须找到一个方法把每个用户导向最近的高速缓存,如图8.6所示。第五章所讲述的广域网服务器负载均衡( GSLB)恰恰解决了这个问题。
图8.6 内容提供商的CDN
8.2.3 CDN服务提供商
在前面讲述的例子中的内容提供商,foo.com不得不在全球范围内部署高速缓存。如果有另外的公司在全球范围内部署高速缓存,并把缓存的空间出售给不同的内容提供商会怎么样呢?这正是一个内容分发网络服务提供商所做的事情。CDN服务提供商可以减少内容分发的成本,因为全球范围内高速缓存网络的安装和维护的成本由许多的内容提供商所分担。高速缓存同时被许多内容提供商共享,缓存它们站点的内容。尽管CDN的概念存在于一个很小的范围内,Akamai是第一个专注这个市场的公司。Akamai公司可观的回报导致了许多公司来搭建CDN并提供CDN服务。很多公司后来都倒闭了,成为了.com泡沫的一部分。尽管如此,Akamai在当时仍然创造出了一个很好的盈利模式。
许多内容服务提供商,或者那些租用数据中心空间做Web服务器的虚拟主机公司,已经接受了CDN作为一个增值服务的概念。这是它们商业模式一个自然的扩展,由于这些公司已经有了数据中心的基本架构。虚拟主机的公司在数据中心部署高速缓存,并使用广域网负载均衡把用户导向最近的高速缓存。当购买这项服务之后,客户只需要在一个数据中心部署Web服务器来为所有数据中心提供内容。服务提供商简单配置广域网负载均衡器,接管客户的DNS解析功能,提供最合理的DNS请求把用户导向到最近的高速缓存。为了在每个数据中心扩展高速缓存的数量,我们可以在反向代理前端放置负载均衡器来分担压力。内容和虚拟主机服务提供商发现CDN服务将会是未来的利润增长点,不用巨额的投入投资但是可以获得较高的收入和利润。

--------------------------------------------------------------------------------------------------------------------------------------

版权所有,转载请注明出处  京ICP备2021040351号