Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46744
  • 博文数量: 19
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-30 12:05
文章分类

全部博文(19)

文章存档

2012年(1)

2010年(8)

2009年(3)

2008年(7)

我的朋友

分类:

2010-08-26 20:21:20

站点选择技术

  • | |

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

站点选择

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

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

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

  • 基于DNS的请求路由
  • HTTP重定向
  • 基于BGP/IGP的路径状态注入(RHI)

基于DNS的站点选择

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

图1 基本DNS操作

基本DNS操作

  • 客户端请求对进行解析;
  • DNS代理将请求发送至根DNS,根DNS返回对于foo.com的根DNS的地址;
  • DNS代理将请求发送至对于foo.com的根DNS,该DNS返回对于foo.com的授权DNS服务器的IP地址;
  • DNS代理将请求发送至foo.com的授权DNS服务器,该DNS返回对于的IP地址;
  • DNS代理将请求发送至的授权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重定向的基本操作方式

HTTP重定向的优点:

  • 可以看到被请求的内容;
  • 能看到客户端的IP地址,有利于在多站点负载分布中选择最适合客户端的站点。

HTTP重定向的缺点:

  • 为完成重定向操作,客户端永远都必须先进入主站点,然后再转移到其它站点;
  • 存在书签标定问题,用户可以将浏览器标记为某个站点,但不能是全球的http://站点,从而绕过了请求路由器系统;
  • 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的基本操作方式

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检测服务器状态,以便了解服务器的运行状况;
  • 客户端请求解析;
  • 本地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操作

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

  • 每个CSS检测服务器状态,以便了解服务器的运行状况,并利用TCP连接交换服务器可用性信息;
  • 客户端请求解析;
  • 本地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

带RHI的CSM

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

结论

站点选择能够保证让最适合的数据中心处理客户端请求。每种方法都有自己的优点和缺点。任何一种解决方案都不能适用于所有站点到站点恢复部署。但是,无论您选择哪种站点选择机制,思科产品系列都同时支持所有三种站点选择机制。

部署解决方案时,应当考虑以下因素:

  • 是否是基于Web的应用?
  • DNS高速缓存是否成为问题?
  • 属于主用-主用站点还是主用—备用站点?
  • HTTP重定向以外的所有解决方案都按照应用的可达性/可用性将流量重定向到其它站点。
  • HTTP重定向依赖接收到的HTTP重定向错误代码将客户端重定向至其它站点。发生灾难时,这种解决方案可能不适用。
阅读(540) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~