站点选择技术

若干种技术组成了完整的站点到站点恢复和多站点负载分布解决方案。在客户端到服务器通信中,客户端先寻找服务器的IP 地址,然后与服务器进行通信。发现服务器之后,客户端与服务器通信,执行事务处理。事务处理的

若干种技术组成了完整的站点到站点恢复和多站点负载分布解决方案。在客户端到服务器通信中,客户端先寻找服务器的IP 地址,然后与服务器进行通信。发现服务器之后,客户端与服务器通信,执行事务处理。事务处理的数据保存在数据中心内。将客户端请求路由到相应服务器的任务在数据中心前端完成。在分布式数据中心环境中,必须将最终用户请求路由到正在运行相应应用的数据中心。位于分布式数据中心前端的技术称为请求路由。

站点选择

多数应用都使用某种形式的地址解析获得需要与之通信的服务器的IP 地址。利用地址解析方法与服务器或主机通信的应用包括Web 浏览器、telnet 和用户桌面上的瘦型客户端。获得IP 地址之后,这些应用将根据应用要求以安全或非安全方式与服务器连接,以便执行事务处理。

地址解析还可以包含服务器健康状态跟踪。跟踪服务器状态使地址解析机制能够选择最适合处理客户端请求的服务器,以便提高解决方案的可用性。在远程数据中心部署了完成相同任务的冗余服务器的分布式数据中心环境中,可以在地址解析过程中将客户端引导到相应的数据中心。这种通过跟踪服务器健康状态将客户端引导到相应服务器的方法称为请求路由。

将客户端与相应数据中心相连的站点选择方法共有三种:

基于DNS 的请求路由

∙ HTTP 重定向

∙ 基于BGP/IGP的路径状态注入(RHI ) ∙

基于DNS 的站点选择

如图1所示,第一种解决方案基于DNS 。通常情况下,与服务器连接时,第一步是将域名解析成IP 地址。客户端的解析过程将变成对本地DNS 服务器的DNS 请求,然后,DNS 服务器将沿着DNS 服务器等级结构逐级向上,通过互联网/内部网上直到到达目的DNS 服务器为止。最后,目标DNS 服务器将公布IP 地址。

图1 基本DNS 操作

,

∙ 客户端请求对www.foo.com 进行解析; DNS 代理将请求发送至根DNS ,根DNS 返回对于foo.com 的根DNS 的地址; DNS 代理将请求发送至对于foo.com 的根DNS ,该DNS 返回对于foo.com 的授权DNS 服务器的IP 地址; DNS 代理将请求发送至foo.com 的授权DNS 服务器,该DNS 返回对于www.foo.com 的IP 地址; DNS 代理将请求发送至www.foo.com 的授权DNS 服务器,该DNS 返回Web 服务器的IP 地址; DNS 代理向客户端返回Web 服务器的IP 地址; 客户端建立与Web 服务器的连接。

在最底层,DNS 提供深入到域结构和子域结构中的名称到地址映射关系的分布式数据库,每个域由权威名称服务器独立管理。名称服务器将名称到地址的对应关系保存在资源记录中。每条记录包含相关的存活时间(TTL )字段,以便确定其它名称服务器保存该项的时间。

名称服务器实施重复性或递归性查询。

重复性查询或者从本地数据库返回查询的答案(A 记录),或者指向能够回答查询的另一台名称服务器(NS 记录);

∙ 递归性查询将查询完成名称解析所需要的所有其它名称服务器,并返回最终答案(A 记录)。 ∙

等级结构中的多数名称服务器只收发迭代性查询。但是,本地名称服务器通常接受来自客户端的递归性查询。递归性查询将大部分解析负担都放在一台名称服务器上。

在递归性查询中,客户端解析器首先向名称服务器发出递归请求,要求名称服务器提供某个域名的信息。然后,名称服务器必须要么向客户端提供所需的数据,要么返回错误信息,说明被请求的数据或者域名不存在。由于请求是递归性的,

,

名称服务器不能将请求方引导到另一台名称服务器。如果名称服务器非授权不能提供被请求的数据,它必须请求另一台名称服务器提供答案。它可以向其它名称服务器发出递归性请求,迫使它们找到并返回答案(并传递关系)。当然,DNS 代理也可以发送重复性请求,转而由其它名称服务器完成名称解析任务。当前的实施方案倾向于使用后一种方法,即根据引导一步步找到答案。

迭代性解析对被请求名称服务器的要求较低。在迭代性解决方案中,名称服务器只将它知道的最佳答案告知请求方,而不作进一步请求。

被请求的名称服务器首先查询自己的本地数据,包括高速缓存,看是否能找到被请求数据。如果找不到数据,它将尽最大努力为查询方提供数据,帮助查询方继续执行解析过程。通常情况下,它提供的数据是其它名称服务器的名称和地址。 在迭代性解析中,客户端的解析器首先查询本地的名称服务器,然后由本地名称服务器查询众多其它名称服务器,以便为解析器找到答案。解析器查询的每台名称服务器都将它引导到DNS 名称域的下一层,即更接近答案的下一台名称服务器。最后,本地名称服务器将查询可提供数据的权威名称服务器,并返回答案。 HTTP 重定向

目前,很多应用都具有浏览器前端。由于浏览器的内部已经集成了HTTP 重定向,因而能够在主服务器发生故障之后与备用服务器通信。在HTTP 重定向过程中,客户端只经历一次地址解析过程。当主服务器不可访问时,客户端将被重定向到备用服务器,而不需要重复地址解析过程。

一般情况下,HTTP 重定向的执行过程如下。HTTP 拥有将用户重定向到新位置的机制,称为HTTP 重定向或HTTP-307(HTTP 重定向返回代码)。获得服务器的IP 地址之后,客户端将建立与服务器的TCP 连接。首先,服务器将分析得到请求的第一个HTTP 。现在,服务器可以看到被请求的实际内容以及客户端的IP 地址。如果需要重定向,服务器将向客户端发出HTTP 重定向(307)请求,从而将客户端引导到拥有被请求内容的站点。之后,客户端将与新主机建立TCP 连接,并请求提供实际内容。

HTTP 重定向机制如图2所示。

图2 HTTP重定向的基本操作方式

,

HTTP 重定向的优点:

可以看到被请求的内容;

∙ 能看到客户端的IP 地址,有利于在多站点负载分布中选择最适合客户端的站点。 ∙

HTTP 重定向的缺点:

为完成重定向操作,客户端永远都必须先进入主站点,然后再转移到其它站点;

∙ 存在书签标定问题,用户可以将浏览器标记为某个站点,但不能是全球的http://www.foo.com站点,从而绕过了请求路由器系统;

∙ HTTP 重定向只适用于HTTP 流量,某些应用由于没有浏览器前端,因而不支持HTTP 重定向。 ∙

路由健康注入

路由健康注入(RHI )是一种机制,它允许两个数据中心使用同一个IP 地址。这意味着同一个IP 地址(主机路径)被发布为不同的metric 。上游路由器可以同时看到两条路径,并将metric 更好的路径插入到其路由表中。当设备启用RHI 时,它将在VIP 可用时将静态路径注入到设备的路由表中。当VIP 失效时,该静态路径将删除。如果设备发生了故障,上游路由器使用的另一条路径将到达服务器,从而实现高可用性。值得注意的是,只有当服务器运行正常时,设备才公布主机路径。

注意由于多数路由器不向互联网传送主机路径信息,因此,公布主机路由的RHI 通常只限于在内部网中使用。

,

同一个IP 地址还可以从称为备用位置但metric 不同的另一个位置公布。这种机制与前面介绍的方法非常相似,惟一的不同是路径能够用不同metric 公布。 对于支持互联网用户的应用,可以在互联网边缘汇总主机路径,然后重新分布到BGP 。这些路径可以利用思科BGP 的有条件宣告特性从备用位置宣告。只要IP 地址在主站点有效,或者与多家电信运营商的链接有效,并且不从备用站点公布IP 地址,这种方式就可以正常操作。

RHI 的优点包括:

快速收敛(IGP 收敛);

∙ 自我控制,不依赖于内容路由设备;

∙ 适用于业务连续性和灾难恢复解决方案;

∙ 单一IP 地址。 ∙

RHI 的缺点包括:

∙ 不能用于站点到站点负载均衡,因为路由表只有一个条目。通常只用于主用/备用配置。

支持平台

思科的很多产品都支持分布式数据中心的请求路由。这些产品的功能各不相同。支持这些功能的所有产品包括:

∙ 全球站点选择器(GSS 4480) 分布式导向器 分布式导向器和IOS SLB/DFP WebNS 与全球服务器负载均衡 Cat6K 平台的内容交换模块

全球站点选择器

思科GSS 4480能够实现分布式数据中心的负载均衡。GSS 能够与服务器负载均衡产品互操作,例如Cisco CSS 11000和CSS 11500内容服务交换机以及Cisco Catalyst? 6500系列交换机的内容交换模块(CSM )。

思科GSS 4480产品提供以下主要功能:

为思科的内容交换机提供可以扩展的专用硬件平台,通过检测站点中断或站点拥塞,保证应用永远可用;

∙ 利用不同的站点选择算法,改善全球数据中心或站点选择过程; ∙ 提供集中子域管理,作为现有DNS 基础设施的补充。 ∙

,

利用思科GSS 4480,由于企业能够在主数据中心发生故障时将客户端引导至备用数据中心,因而能部署互联网和内部网应用。思科GSS 4480能够连续监控多个数据中心的服务器负载均衡设备的负载和状态,并将客户端重定向至负载较低的数据中心。每个数据中心的负载情况由用户确定。

GSS 的主要特性和优点如下:

∙ 为电子商务应用提供站点持续性; 提供对灾难恢复和多站点部署部署至关重要的架构; 提供对DNS 解析过程的集中指挥和控制; 提供对DNS 请求的专门处理,以提高性能和可扩展性; 提供DNS 快速处理特性。思科GSS 4480可以实时地根据本地DNS 与多个站点之间的RTT ,将客户端引导至距离最近的数据中心; 支持基于Web 的图形用户界面(GUI )和向导,可简化配置。

图3 GSS的基本操作方式

图3所示是GSS 的基本操作方式,各步骤内容如下:

GSS 检测服务器状态,以便了解服务器的状态和负载情况;

∙ 客户端请求解析HTTP 请求中的URL ;

∙ 本地DNS 服务器执行DNS 查询,GSS 根据预定算法返回IP 地址; ∙ 客户端与服务器连接。 ∙

分布式导向器

,

思科分布式导向器是一种基于DNS 的技术,能够实现设立在多个地点或独立拓扑中的数据中心之间的负载均衡。其目标是将客户端引导至最适合或最好的数据中心,使用的方法是通过导向器响应协议(DRP )与网络上的其它思科路由器通信。 如果没有分布式导向器,最终用户需要利用轮循DNS 以循环方式与不同的服务器相连。由于DNS 不了解网络拓扑或服务器可用性,因而会使最终用户与远距离或不可用的服务器相连,从而降低访问性能,提高传输成本。最后,由于循环DNS 以循环方式向服务器分布服务,因而只能平等对待所有服务器,致使功能低下的服务器不堪重负,功能强大的服务器(通常比较昂贵)则任务不饱满。无论是基于TCP 还是UDP 的IP 服务,都可以使用分布式导向器分布。

例如,由于能够利用智能监控服务器状态,分布式导向器能够依据客户端到服务器拓扑邻近度和/或客户端到服务器链路延迟(往返时间RTT )的大小,透明地将最终用户服务请求引导至最适合的服务器,最终提高最终用户感受到的访问性能,并降低按需拨号路由环境中的传输成本。

思科分布式导向器在执行负载分布时,能够通过服务器可用性、相对的客户端到服务器拓扑邻近度(“距离”)和客户端到服务器链路延迟大小确定“最佳”服务器。换言之,用户只需要一个子域名称或全局资源定位符(URL )嵌入式主机名称,就能访问一组分布式服务器,而不需要从很多的可能站点中进行选择。总之,思科分布式导向器能够利用网络中的智能自动、动态、有效地为用户挑选出“最佳”服务器。

分布式导向器利用导向器响应协议(DRP )——由思科系统公司开发的一种基于UDP 的应用——执行以下两种任务:

从DRP 服务器代理查询分布式服务器与客户端之间的BGP 和IGP 路由表指标,确定客户端到服务器的拓扑邻近度。关于这些DRP 指标,我们将在本文的后面部分讨论。

∙ 从DRP 服务器代理查询客户端到服务器链路延迟指标。关于循环时间DRP 指标的使用,我们将在本文的后面部分讨论。 ∙

分布式导向器的基本操作方式如图4所示。

图4 分布式导向器的基本操作方式

,

DD 检测服务器状态,以便了解服务器的运行状况;

∙ 客户端请求解析www.foo.com ;

∙ 本地DNS 服务器执行迭代性DNS 查询,DD 在按照配置咨询DRP 代理之后返回IP 地址;

∙ 客户端与服务器相连,完成事务处理。 ∙

分布式导向器、IOS-SLB 和动态反馈协议

如前所述,分布式导向器利用各种指标将客户端引导至相应的全球服务器群或分布式数据中心。运行动态反馈协议(DFP )的IOS-SLB 向分布式导向器环境提供其它属性,以便确定哪个站点最适合处理客户端的请求。

Cisco IOS 服务器负载均衡(SLB )特性是提供服务器负载均衡功能的Cisco IOS 软件解决方案。服务器和负载均衡设备通过DFP 机制向分布式导向器提供关于设备负载状况的反馈。分布式导向器利用这种反馈灵活地将客户端引导至负载最低的数据中心。

WebNS 和全球服务器负载均衡

Cisco 11000系列内容服务交换机(CSS )利用全球服务器负载均衡(GSLB )和网络邻近度方法,将内容请求分布到多个站点。

,

Cisco 11000系列CSS 能够通过GSLB 将内容请求分布到多个站点,并利用内容智能根据被请求的内容和内容的所在地分布请求。网络邻近度是GSLB 的增强版本,能够根据到达内容使用者所在位置的全程时间选择距离最近或最靠近的Web 站点。显然,网络邻近度的全球持续性很高,因为只要网络拓扑保持不变,来自某个位置的所有请求的邻近度计算都是相同的。

WebNS 还提供可以扩展的解决方案,在不牺牲邻近度或GSLB 的前提下提供粘性站点选择。在这种增强版本中,管理员能够利用粘性数据库配置D 代理的粘性时间。TTL 值的范围在几分钟到几天之间。

内容服务交换机执行的基本GSLB 操作如图5所示。

图5 使用内容服务交换机执行的基本GSLB 操作

每个CSS 检测服务器状态,以便了解服务器的运行状况,并利用TCP 连接交换服务器可用性信息;

∙ 客户端请求解析www.foo.com ;

∙ 本地DNS 服务器执行迭代性DNS 请求,CSS 根据配置返回IP 地址; ∙ 客户端与服务器连接,完成事务处理。 ∙

Catalyst 6000的内容交换模块

,

思科内容交换模块(CSM )将第四到七层高级内容交换集成到Cisco Catalyst 6500系列或Cisco 7600系列互联网路由器中。CSM 提供高性能、高可用性负载均衡,并能够充分利用平台中固有的全部第二层、第三层和QoS 特性。CSM 不但能直接与思科分布式导向器通信,执行GSLB 功能,还支持DFP 和RHI 特性。 利用CSM 执行路径状态注入的方式如图6所示。当CSM 上的RHI 启用之后,CSM 将把静态路径注入MSFC 的路由表中,然后由MSFC 重新分布。

图6 带RHI 的CSM

∙ 每个CSM 检测服务器状态,如果服务器可用,则将静态路径注入MSFC 路由表,并与两台Catalyst 6500的各种指标一同发布(相同的IP 地址与两个位置的不同指标一同发布); 主机路径被传输到上游路由器,指标最好的路径将得到上游路由器的采用; 客户端请求解析www.foo.com ; 本地DNS 服务器执行迭代性DNS 查询,返回IP 地址; 客户端与适当的Web 服务器相连,因为发布的路径的指标更好。 结论

标签: