1、若干种技术组成了完整的站点到站点恢复和多站点负载分布解决方案。在客户端到服务器通信中,客户端先寻找服务器的 IP 地址,然后与服务器进行通信。发现服务器之后,客户端与服务器通信,执行事务处理。事务处理的数据保存在数据中心内。将客户端请求路由到相应服务器的任务在数据中心前端完成。在分布式数据中心环境中,必须将最终用户请求路由到正在运行相应应用的数据中心。位于分布式数据中心前端的技术称为请求路由。 站点选择多数应用都使用某种形式的地址解析获得需要与之通信的服务器的 IP 地址。利用地址解析方法与服务器或主机通信的应用包括 Web 浏览器、telnet 和用户桌面上的瘦型客户端。获得 IP 地址之后
2、,这些应用将根据应用要求以安全或非安全方式与服务器连接,以便执行事务处理。 地址解析还可以包含服务器健康状态跟踪。跟踪服务器状态使地址解析机制能够选择最适合处理客户端请求的服务器,以便提高解决方案的可用性。在远程数据中心部署了完成相同任务的冗余服务器的分布式数据中心环境中,可以在地址解析过程中将客户端引导到相应的数据中心。这种通过跟踪服务器健康状态将客户端引导到相应服务器的方法称为请求路由。 将客户端与相应数据中心相连的站点选择方法共有三种: 基于 DNS 的请求路由 HTTP 重定向 基于 BGP/IGP 的路径状态注入(RHI) 基于 DNS 的站点选择 如图 1 所示,第一种解决方案基于
3、 DNS。通常情况下,与服务器连接时,第一步是将域名解析成 IP 地址。客户端的解析过程将变成对本地 DNS 服务器的 DNS请求,然后,DNS 服务器将沿着 DNS 服务器等级结构逐级向上,通过互联网/内部网上直到到达目的 DNS 服务器为止。最后,目标 DNS 服务器将公布 IP 地址。图 1 基本 DNS 操作 客户端请求对 进行解析; DNS 代理将请求发送至根 DNS,根 DNS 返回对于 的根 DNS 的地址; DNS 代理将请求发送至对于 的根 DNS,该 DNS 返回对于 的授权 DNS 服务器的 IP 地址; DNS 代理将请求发送至 的授权 DNS 服务器,该 DN
4、S 返回对于 的 IP 地址; DNS 代理将请求发送至 的授权 DNS 服务器,该 DNS 返回 Web服务器的 IP 地址; DNS 代理向客户端返回 Web 服务器的 IP 地址; 客户端建立与 Web 服务器的连接。 在最底层,DNS 提供深入到域结构和子域结构中的名称到地址映射关系的分布式数据库,每个域由权威名称服务器独立管理。名称服务器将名称到地址的对应关系保存在资源记录中。每条记录包含相关的存活时间(TTL)字段,以便确定其它名称服务器保存该项的时间。 名称服务器实施重复性或递归性查询。 重复性查询或者从本地数据库返回查询的答案(A 记录),或者指向能够回答查询的另一台名称服务
5、器(NS 记录); 递归性查询将查询完成名称解析所需要的所有其它名称服务器,并返回最终答案(A 记录)。 等级结构中的多数名称服务器只收发迭代性查询。但是,本地名称服务器通常接受来自客户端的递归性查询。递归性查询将大部分解析负担都放在一台名称服务器上。 在递归性查询中,客户端解析器首先向名称服务器发出递归请求,要求名称服务器提供某个域名的信息。然后,名称服务器必须要么向客户端提供所需的数据,要么返回错误信息,说明被请求的数据或者域名不存在。由于请求是递归性的,名称服务器不能将请求方引导到另一台名称服务器。如果名称服务器非授权不能提供被请求的数据,它必须请求另一台名称服务器提供答案。它可以向其它
6、名称服务器发出递归性请求,迫使它们找到并返回答案(并传递关系)。当然,DNS 代理也可以发送重复性请求,转而由其它名称服务器完成名称解析任务。当前的实施方案倾向于使用后一种方法,即根据引导一步步找到答案。 迭代性解析对被请求名称服务器的要求较低。在迭代性解决方案中,名称服务器只将它知道的最佳答案告知请求方,而不作进一步请求。 被请求的名称服务器首先查询自己的本地数据,包括高速缓存,看是否能找到被请求数据。如果找不到数据,它将尽最大努力为查询方提供数据,帮助查询方继续执行解析过程。通常情况下,它提供的数据是其它名称服务器的名称和地址。 在迭代性解析中,客户端的解析器首先查询本地的名称服务器,然后
7、由本地名称服务器查询众多其它名称服务器,以便为解析器找到答案。解析器查询的每台名称服务器都将它引导到 DNS 名称域的下一层,即更接近答案的下一台名称服务器。最后,本地名称服务器将查询可提供数据的权威名称服务器,并返回答案。 HTTP 重定向目前,很多应用都具有浏览器前端。由于浏览器的内部已经集成了 HTTP 重定向,因而能够在主服务器发生故障之后与备用服务器通信。在 HTTP 重定向过程中,客户端只经历一次地址解析过程。当主服务器不可访问时,客户端将被重定向到备用服务器,而不需要重复地址解析过程。 一般情况下,HTTP 重定向的执行过程如下。HTTP 拥有将用户重定向到新位置的机制,称为 H
8、TTP 重定向或 HTTP-307(HTTP 重定向返回代码)。获得服务器的IP 地址之后,客户端将建立与服务器的 TCP 连接。首先,服务器将分析得到请求的第一个 HTTP。现在,服务器可以看到被请求的实际内容以及客户端的 IP地址。如果需要重定向,服务器将向客户端发出 HTTP 重定向(307)请求,从而将客户端引导到拥有被请求内容的站点。之后,客户端将与新主机建立 TCP连接,并请求提供实际内容。 HTTP 重定向机制如图 2 所示。 图 2 HTTP 重定向的基本操作方式HTTP 重定向的优点: 可以看到被请求的内容; 能看到客户端的 IP 地址,有利于在多站点负载分布中选择最适合客户
9、端的站点。 HTTP 重定向的缺点: 为完成重定向操作,客户端永远都必须先进入主站点,然后再转移到其它站点; 存在书签标定问题,用户可以将浏览器标记为某个站点,但不能是全球的 http:/ 站点,从而绕过了请求路由器系统; HTTP 重定向只适用于 HTTP 流量,某些应用由于没有浏览器前端,因而不支持 HTTP 重定向。 路由健康注入路由健康注入(RHI)是一种机制,它允许两个数据中心使用同一个 IP 地址。这意味着同一个 IP 地址(主机路径)被发布为不同的 metric。上游路由器可以同时看到两条路径,并将 metric 更好的路径插入到其路由表中。当设备启用RHI 时,它将在 VIP
10、可用时将静态路径注入到设备的路由表中。当 VIP 失效时,该静态路径将删除。如果设备发生了故障,上游路由器使用的另一条路径将到达服务器,从而实现高可用性。值得注意的是,只有当服务器运行正常时,设备才公布主机路径。 注意由于多数路由器不向互联网传送主机路径信息,因此,公布主机路由的RHI 通常只限于在内部网中使用。 同一个 IP 地址还可以从称为备用位置但 metric 不同的另一个位置公布。这种机制与前面介绍的方法非常相似,惟一的不同是路径能够用不同 metric 公布。 对于支持互联网用户的应用,可以在互联网边缘汇总主机路径,然后重新分布到 BGP。这些路径可以利用思科 BGP 的有条件宣告
11、特性从备用位置宣告。只要IP 地址在主站点有效,或者与多家电信运营商的链接有效,并且不从备用站点公布 IP 地址,这种方式就可以正常操作。 RHI 的优点包括: 快速收敛(IGP 收敛); 自我控制,不依赖于内容路由设备; 适用于业务连续性和灾难恢复解决方案; 单一 IP 地址。 RHI 的缺点包括: 不能用于站点到站点负载均衡,因为路由表只有一个条目。通常只用于主用/备用配置。 支持平台思科的很多产品都支持分布式数据中心的请求路由。这些产品的功能各不相同。支持这些功能的所有产品包括: 全球站点选择器(GSS 4480) 分布式导向器 分布式导向器和 IOS SLB/DFP WebNS 与全球
12、服务器负载均衡 Cat6K 平台的内容交换模块 全球站点选择器思科 GSS 4480 能够实现分布式数据中心的负载均衡。GSS 能够与服务器负载均衡产品互操作,例如 Cisco CSS 11000 和 CSS 11500 内容服务交换机以及Cisco Catalyst? 6500 系列交换机的内容交换模块(CSM)。 思科 GSS 4480 产品提供以下主要功能: 为思科的内容交换机提供可以扩展的专用硬件平台,通过检测站点中断或站点拥塞,保证应用永远可用; 利用不同的站点选择算法,改善全球数据中心或站点选择过程; 提供集中子域管理,作为现有 DNS 基础设施的补充。 利用思科 GSS 4480
13、,由于企业能够在主数据中心发生故障时将客户端引导至备用数据中心,因而能部署互联网和内部网应用。思科 GSS 4480 能够连续监控多个数据中心的服务器负载均衡设备的负载和状态,并将客户端重定向至负载较低的数据中心。每个数据中心的负载情况由用户确定。 GSS 的主要特性和优点如下: 为电子商务应用提供站点持续性; 提供对灾难恢复和多站点部署部署至关重要的架构; 提供对 DNS 解析过程的集中指挥和控制; 提供对 DNS 请求的专门处理,以提高性能和可扩展性; 提供 DNS 快速处理特性。思科 GSS 4480 可以实时地根据本地 DNS 与多个站点之间的 RTT,将客户端引导至距离最近的数据中心
14、; 支持基于 Web 的图形用户界面(GUI)和向导,可简化配置。 图 3 GSS 的基本操作方式 图 3 所示是 GSS 的基本操作方式,各步骤内容如下: GSS 检测服务器状态,以便了解服务器的状态和负载情况; 客户端请求解析 HTTP 请求中的 URL; 本地 DNS 服务器执行 DNS 查询,GSS 根据预定算法返回 IP 地址; 客户端与服务器连接。 分布式导向器思科分布式导向器是一种基于 DNS 的技术,能够实现设立在多个地点或独立拓扑中的数据中心之间的负载均衡。其目标是将客户端引导至最适合或最好的数据中心,使用的方法是通过导向器响应协议(DRP)与网络上的其它思科路由器通信。 如
15、果没有分布式导向器,最终用户需要利用轮循 DNS 以循环方式与不同的服务器相连。由于 DNS 不了解网络拓扑或服务器可用性,因而会使最终用户与远距离或不可用的服务器相连,从而降低访问性能,提高传输成本。最后,由于循环 DNS 以循环方式向服务器分布服务,因而只能平等对待所有服务器,致使功能低下的服务器不堪重负,功能强大的服务器(通常比较昂贵)则任务不饱满。无论是基于 TCP 还是 UDP 的 IP 服务,都可以使用分布式导向器分布。 例如,由于能够利用智能监控服务器状态,分布式导向器能够依据客户端到服务器拓扑邻近度和/或客户端到服务器链路延迟(往返时间 RTT)的大小,透明地将最终用户服务请求
16、引导至最适合的服务器,最终提高最终用户感受到的访问性能,并降低按需拨号路由环境中的传输成本。 思科分布式导向器在执行负载分布时,能够通过服务器可用性、相对的客户端到服务器拓扑邻近度(“距离”)和客户端到服务器链路延迟大小确定“最佳”服务器。换言之,用户只需要一个子域名称或全局资源定位符(URL)嵌入式主机名称,就能访问一组分布式服务器,而不需要从很多的可能站点中进行选择。总之,思科分布式导向器能够利用网络中的智能自动、动态、有效地为用户挑选出“最佳”服务器。 分布式导向器利用导向器响应协议(DRP)由思科系统公司开发的一种基于UDP 的应用执行以下两种任务: 从 DRP 服务器代理查询分布式服
17、务器与客户端之间的 BGP 和 IGP 路由表指标,确定客户端到服务器的拓扑邻近度。关于这些 DRP 指标,我们将在本文的后面部分讨论。 从 DRP 服务器代理查询客户端到服务器链路延迟指标。关于循环时间DRP 指标的使用,我们将在本文的后面部分讨论。 分布式导向器的基本操作方式如图 4 所示。 图 4 分布式导向器的基本操作方式 DD 检测服务器状态,以便了解服务器的运行状况; 客户端请求解析 ; 本地 DNS 服务器执行迭代性 DNS 查询,DD 在按照配置咨询 DRP 代理之后返回 IP 地址; 客户端与服务器相连,完成事务处理。 分布式导向器、IOS-SLB 和动态反馈协议 如前所述,
18、分布式导向器利用各种指标将客户端引导至相应的全球服务器群或分布式数据中心。运行动态反馈协议(DFP)的 IOS-SLB 向分布式导向器环境提供其它属性,以便确定哪个站点最适合处理客户端的请求。 Cisco IOS 服务器负载均衡(SLB)特性是提供服务器负载均衡功能的 Cisco IOS 软件解决方案。服务器和负载均衡设备通过 DFP 机制向分布式导向器提供关于设备负载状况的反馈。分布式导向器利用这种反馈灵活地将客户端引导至负载最低的数据中心。 WebNS 和全球服务器负载均衡 Cisco 11000 系列内容服务交换机(CSS)利用全球服务器负载均衡(GSLB)和网络邻近度方法,将内容请求分
19、布到多个站点。 Cisco 11000 系列 CSS 能够通过 GSLB 将内容请求分布到多个站点,并利用内容智能根据被请求的内容和内容的所在地分布请求。网络邻近度是 GSLB 的增强版本,能够根据到达内容使用者所在位置的全程时间选择距离最近或最靠近的Web 站点。显然,网络邻近度的全球持续性很高,因为只要网络拓扑保持不变,来自某个位置的所有请求的邻近度计算都是相同的。 WebNS 还提供可以扩展的解决方案,在不牺牲邻近度或 GSLB 的前提下提供粘性站点选择。在这种增强版本中,管理员能够利用粘性数据库配置 D 代理的粘性时间。TTL 值的范围在几分钟到几天之间。 内容服务交换机执行的基本 G
20、SLB 操作如图 5 所示。 图 5 使用内容服务交换机执行的基本 GSLB 操作 每个 CSS 检测服务器状态,以便了解服务器的运行状况,并利用 TCP 连接交换服务器可用性信息; 客户端请求解析 ; 本地 DNS 服务器执行迭代性 DNS 请求,CSS 根据配置返回 IP 地址; 客户端与服务器连接,完成事务处理。 Catalyst 6000 的内容交换模块 思科内容交换模块(CSM)将第四到七层高级内容交换集成到 Cisco Catalyst 6500 系列或 Cisco 7600 系列互联网路由器中。CSM 提供高性能、高可用性负载均衡,并能够充分利用平台中固有的全部第二层、第三层和
21、QoS 特性。CSM 不但能直接与思科分布式导向器通信,执行 GSLB 功能,还支持 DFP 和 RHI 特性。 利用 CSM 执行路径状态注入的方式如图 6 所示。当 CSM 上的 RHI 启用之后,CSM将把静态路径注入 MSFC 的路由表中,然后由 MSFC 重新分布。 图 6 带 RHI 的 CSM 每个 CSM 检测服务器状态,如果服务器可用,则将静态路径注入 MSFC 路由表,并与两台 Catalyst 6500 的各种指标一同发布(相同的 IP 地址与两个位置的不同指标一同发布); 主机路径被传输到上游路由器,指标最好的路径将得到上游路由器的采用; 客户端请求解析 ; 本地 DN
22、S 服务器执行迭代性 DNS 查询,返回 IP 地址; 客户端与适当的 Web 服务器相连,因为发布的路径的指标更好。 结论站点选择能够保证让最适合的数据中心处理客户端请求。每种方法都有自己的优点和缺点。任何一种解决方案都不能适用于所有站点到站点恢复部署。但是,无论您选择哪种站点选择机制,思科产品系列都同时支持所有三种站点选择机制。 部署解决方案时,应当考虑以下因素: 是否是基于 Web 的应用? DNS 高速缓存是否成为问题? 属于主用-主用站点还是主用备用站点? HTTP 重定向以外的所有解决方案都按照应用的可达性/可用性将流量重定向到其它站点。 HTTP 重定向依赖接收到的 HTTP 重定向错误代码将客户端重定向至其它站点。发生灾难时,这种解决方案可能不适用。