经由任播的无地图全局流量负载均衡的制作方法

文档序号:7942107阅读:117来源:国知局
专利名称:经由任播的无地图全局流量负载均衡的制作方法
技术领域
本发明涉及网络上的全局流量(traffic)管理,并且具体地,涉及基于某种标准 将客户端引导(direct)至特定服务器。
背景技术
本节描述的方法是可被完成的方法,但不一定是先前已被构想出或完成的方法。 因此,除非以其他方式指示,否则不应当进行如下臆断仅由于这些方法包括在本节中就将 本节描述的任何方法当作现有技术。全局负载均衡或“GLB”跨越分布式的服务器组将客户端访问分发到服务器。跨 越其分发客户端访问的服务器组例如可以是诸如因特网之类的广域网上的服务器。为了 讨论的目的,将给出GLB被用来跨越因特网上的服务器分发客户端访问的示例。用于客户 端访问的服务器的类型可以广泛地变化,并且包括但不限于HTTP web服务器、FTP服务器、 SMTP (邮件)服务器、其它标准因特网协议服务器,或者利用专用协议的服务器。如这里使 用的,术语“服务器”应指先前列出的任何类型的服务器。许多GLB使用多种主动和被动监视技术来生成复杂的因特网地图。基于该地图, GLB作出流量路由决定以将客户端连接到“最接近的”服务器。如这里使用的,“接近”不一 定是指仅基于地理的临近度作出确定。如这里使用的,“接近的”服务器是导致到客户端的 最快的连接的服务器。因此,如果由于严重的网络拥塞使得客户端到达位于100英里远的 服务器比到达位于200英里远的服务器慢,则GLB会将客户端路由到200英里远的服务器。最常见形式的全局负载均衡是基于图1所示的域名服务(“DNS”)的。在图1所 示的系统中,可能位于地理上不同区域的两个或更多个数据中心包含大量能够容宿(host) web应用的服务器。客户端105希望连接到由两个数据中心中的每个数据中心容宿的web 应用。例如,容宿web应用的一个数据中心可能位于纽约103,而容宿web应用的另一数据 中心可能位于旧金山101。因特网服务提供商(“ISP”)可以使用集中化的局部名称解析器(local name resolver),也称为递归DNS解析器,该解析器驻留在ISP的网络中并且与ISP的用户通信 以服务于他们的DNS请求。客户端与局部名称解析器通信,并且随后局部名称解析器确定 到哪儿去找用户请求的信息。域的权威DNS解析器接收来自局部名称解析器的请求,并且 向局部名称解析器发送该域的IP地址。域的权威DNS解析器是驻留在域的网络内并且维 护用于该域的网络的数据的服务器。GLB可以是权威DNS解析器的一部分或者可以与权威 DNS解析器相分离。如这里使用的,术语“解析器”应指GLB可以作为其一部分或者可以不 作为其一部分的权威DNS解析器。例如,在图1中,客户端105将包括诸如“ww. sampledomain. com”之类的域名的请 求111发送给局部名称解析器107。局部名称解析器107向作为“www. sampledomain. com" 的所有者的权威DNS解析器109询问115“www. sampledomain. com”的IP地址。用于“www. sampledomain. com"的权威DNS解析器(和GLB) 109基于由GLB生成的地图中的信息用数
4据中心的IP地址向局部名称解析器107作出响应。如果GLB检测到去往旧金山101处的 数据中心的高流量,则GLB可以将连接发送给纽约103处的“较近的”数据中心,即使在地 理上纽约103处的数据中心离客户端105远得多。局部名称解析器107将纽约103处的数 据中心的IP地址发送给客户端105。然后,并且只有然后,客户端105连接到119纽约103 处的数据中心而不连接到117位于旧金山101处的数据中心。当网络拓扑或连通性出现诸如断纤、装备问题、容量问题、网区(netblock)迁移 或人类干预之类的改变时,通常需要从头开始重新构建因特网地图。取决于用来创建或更 新地图的协议和算法,该处理可能花费大量时间。由于因特网拓扑的动态本质,GLB可能难 以维护完整的、准确的因特网模型。所得到的地图的不准确性可能导致不正确的路由决定, 其可能严重连累客户端到服务器性能。结果,需要提供到服务器的”最接近的”连接的、不 是基于利用基于DNS的GLB来生成并维护因特网地图的技术。


在附图的各个图中,本发明是以示例的方式而非以限制性的方式来例示说明的, 并且在附图中,相似的标号指代类似的元件,并且其中图1是基于DNS的全局负载均衡的示图;图2是根据本发明实施例的被路由到最近的GLB/权威DNS服务器的名称解析请 求IP分组的示图;图3A是根据本发明实施例的连接到web服务器的客户端的示图;图3B是根据本发明实施例的连接到发生故障切换(failover)的web服务器的客 户端的示图;以及图4是其上可以实现本发明实施例的计算机系统的框图。
具体实施例方式描述了利用不依赖于生成服务器所属的网络(例如,因特网)的地图的技术来将 客户端连接到服务器的技术。在下面的描述中,为了说明的目的,阐述了多个具体细节以提 供对本发明的透彻理解。然而,将清楚,可以不用这些具体细节来实施本发明。在其它实例 中,公知的结构和设备以框图形式示出,以避免不必要地模糊本发明。概述在实施例中,多个权威DNS解析器被置于提供商网络边缘上的不同位置处。如这 里使用的,网络的“边缘”是网络的一部分,作为该网络的从另一网络的进入点或连接点。该 另一网络可以包括但不限于另一私有网络或因特网。提供商网络还包括客户端可以连接到 该提供商网络的服务器。提供商网络中的服务器的类型可以广泛地变化,并且包括但不限 于HTTP web服务器、FTP服务器、SMTP (邮件)服务器、其它标准因特网协议服务器,或者利 用专用协议的服务器。多个权威DNS解析器公告目的地IP地址,其允许IP分组被路由到 “最接近的”权威DNS解析器。当权威DNS解析器从客户端接收到连接到提供商网络的请求 时,权威DNS解析器用客户端可能连接到的web服务器的IP地址进行回复。在实施例中,全局负载均衡及权威DNS解析器基于web服务器到作出响应的权威 DNS解析器的“接近度”来动态选择到web服务器的IP地址。将分组引导至特定权威DNS解析器的路由协议还规定了后续流量流到提供商网络的路由。因此,由权威DNS解析器选择 的最接近的web服务器也是到客户端的最接近的web服务器。然后客户端直接与权威DNS 解析器所指定的web服务器相连接。这些方法提供了在不必构建或维护因特网地图的情况下动态地、实时地将客户端 引导至“最接近的”可用服务器的能力。由于下层协议被设计为动态的并且自己校正错误或 拓扑改变,因此可以在对改变的反应时间在数秒内、而不是更新地图所需的数周的情况下, 作出准确的流量路由决定。利用管理因特网分组流以作出全局负载均衡决定的相同下层协 议,这些技术提供了更准确及时的流量路由,其可以带来提高的网站性能。任播在实施例中,任播(anycast)与被置于网络边缘上不同位置处的权威DNS解析器 一起被用来将客户端路由到“最接近的”权威DNS解析器。任播是将因特网流量路由到各 自具有相同IP地址的多个可用服务器位置之一的方法。在实施例中,被置于网络边缘上的 多于一个权威DNS解析器被给予相同IP地址,以使得客户端IP分组可被路由到最接近的 权威DNS解析器。任播与术语单播和多播类似。在单播中,在源网络地址与目的地网络端 点之间存在一对一的关系。在多播中,在源网络地址与目的地网络端点之间存在一对多的 关系。每个目的地地址标识出一组接收者端点,在那里所有信息被复制。相比而言,任播是 源网络地址与潜在目的地网络端点之间的一个对任意个的关系。每个目的地地址标识出一 组接收者端点,但是在任何给定时间它们中的仅一个被选择来接收来自任何给定的发送者 的信息。任播确实具有妨碍它被用于所有因特网协议的缺点。例如,任播不能保证一致的 点到点通信并且不能用于依赖TCP流的web流量应用,在web流量应用中,TCP流中的所有 分组必须到达同一目的地。任播也不能维护连接的状态。然而,任播对于使用诸如DNS名 称解析之类的响应协议和单个分组请求的应用来说是有用的。任播可通过利用边界网关协议(“BGP”)来实现。BGP是因特网的核心路由协议。 BGP通过维护指明到达网络的能力的“前缀”或IP网络的路由表来工作。路由表中的信息 可以包括但不限于目的地网络的IP地址、分组通过其被发送的路径的花费,以及在去往目 的地的路上分组将被发送到的下一站(也称为“下一跳”)的地址。BGP随后基于可用路径 和网络策略作出路由决定。例如,如果存在可用于到达同一目的地的两条路径并且第一路 径比第二路径的花费低,则如果花费是首要问题的话,则第一路径路由可能被选择。在另一 示例中,如果存在可用于到达同一目的地的两条路径,则可能通过哪条路径允许分组最快 到达目的地来确定路由。这返回“最接近的”路由。用于选择路径的标准可以依实现方式 而变化。任播与DNS—起已被普遍使用。例如,在DNS中,客户端可能将针对名称解析的单 个分组请求发送给大的网络,在该网络中,多个权威DNS解析器中的任一个进行回复。由于 不需要TCP流或连接的状态来满足该请求,因此,DNS是任播的理想应用。在任播中,目的 地IP地址的区块或相同前缀从因特网上的许多不同位置同时被公告。去往特定前缀的IP 分组随后可以被路由到因特网上公告了给定前缀的“最接近的”位置。在实施例中,DNS管理员跨越网络边缘上被掩盖在单个IP地址之后的多个位置来 部署多个服务器。利用BGP,权威DNS解析器或者在权威服务器之前的路由器普遍将到其目的地IP区块的路由从网络边缘公告到因特网。如这里所使用的,在公告去往权威DNS解析 器的IP区块的路由时,权威DNS解析器可以指权威DNS解析器本身、权威DNS解析器之前 的路由器,或者可能作为权威DNS解析器一部分的GLB服务器。 当客户端希望连接到网络时,客户端向网络发送名称解析IP分组。进入的IP分 组基于BGP表通过提供商网络中从客户端到“最接近的”权威DNS解析器的最短路径被路该技术的一个示例在图2中示出。在图2中,客户端201希望连接到网络221。网 络的示例可以是用于域“www. sampledomain. com"的网络。被置于网络219的边缘上的进 入点或不同位置处的是权威DNS解析器(及全局负载均衡)。进入点215包含DNS解析器 203,进入点217包含DNS解析器205,并且进入点219包含DNS解析器207。该网络还包含 能够连接到客户端的web服务器209、211和213。利用任播,多于一个权威DNS解析器或者权威DNS解析器之前的路由器普遍地将 用于“www. sampledomain. com"网络的前缀或同一 IP目的地地址公告给相邻网络,并且通 过这些相邻网络公告给因特网。至少部分地基于该公告,BGP生成存储在路由器223、225、 227和229中的路由表。当客户端201希望连接到“www. sampledomain. com”网络时,客户 端201发送出名称解析IP分组。该IP分组可以跟随到达网络的任何路径。如果IP分组 跟随路径251,则IP分组到达路由器223。路由器223包含示出了经由路径253到达权威 DNS解析器203的连接的路由表。来自路由器223的路径257连接到路由器225。如果IP 分组跟随路径255,则IP分组抵达路由器225。在路由器225处,路径259通向路由器227。 从路由器227,路径261可被带到网络和DNS解析器205。路径263通向路由器229。路由 器229可以经由路径265连接到DNS解析器207。因此,客户端201可以经由一次路由器跳 跃(路由器223)连接到DNS解析器203,经由两次路由器跳跃(路由器225、227)连接到 DNS解析器205,并且经由三次路由器跳跃(路由器225、227、229)连接到DNS解析器207。基于BGP,IP分组利用最短路径被路由到网络221。在一些实例中,采用路径251 和路径253到达权威DNS解析器203在地理上和速度上来说可能是最接近的。在其它实例 中,诸如路径255-259-261之类的地理上较长的路径在速度上来说可能“较接近”并且IP分 组在该路径上被路由。选择最接近的web服务器在实施例中,全局负载均衡(“GLB”)允许权威DNS解析器向进入的名称解析请求 提供动态响应。一旦名称解析请求使用任播被“最接近的”权威DNS解析器接收到,就用到 该权威解析器的“最接近的”可用web服务器的IP地址作出响应。如这里使用的,“接近” 的web服务器可以通过许多因素来确定,这些因素包括但不限于地理临近度、流量负载、可 操作性以及web服务器的健康度。由于将IP分组从客户端引导至特定权威DNS解析器的下层路由协议还规定了后 续连接流量到提供商网络的路由,因此,到权威DNS解析器的“最接近的”web服务器也是到 客户端的“最接近的” web服务器。在实施例中,确定哪个web服务器与权威DNS解析器“最接近”可在常规的健康检 查期间执行。在web服务器的健康检查中,权威DNS解析器轮询(poll)所有的被配置的 web服务器。该权威DNS解析器收集与哪些服务器可用并且哪些服务器是最接近的有关的信息。可用性可以通过审查web服务器的健康来确定,并且接近度可以通过从web服务器 到权威DNS解析器的响应的延迟来确定。一旦该信息被收集并被处理,权威DNS解析器就 用最接近的可用的web服务器的IP地址对名称解析请求作出响应。由于后续TCP流量流 经过网络边缘上的权威DNS解析器到达web服务器,因此,web服务器也是到客户端的最接 近的可用web服务器。根据本发明实施例的客户端连接到服务器的示例在图3A中示出。客户端319希望 连接到网络300。位于该网络边缘或进入点处的是公告目的地IP地址“1. 1. 1. 1”的GLB (及 权威DNS解析器)301、303和305。进入点313包含DNS解析器301,进入点315包含DNS 解析器303,并且进入点317包含DNS解析器305。该网络还包括能够与客户端进行TCP连接的web服务器。在本示例中,web服务 器307具有IP地址“2. 2. 2. 2”。web服务器309具有IP地址“3. 3. 3. 3”,并且web服务器 311 具有 IP 地址 “4. 4. 4. 4”。当客户端319希望连接到网络300时,客户端319向网络300发送名称解析IP分 组。该IP分组经由BGP被路由到“最接近的”权威DNS解析器301。任播和BGP处理未在 此特定图中示出。在本示例中,客户端319将经由路径323被路由的IP分组发送给“最接 近的”权威DNS解析器,在此情况中是权威DNS解析器301。权威DNS解析器301已经对每 个可用web服务器执行了健康检查。权威DNS解析器301通过路径329轮询web服务器 307,通过路径327轮询web服务器309,并且通过路径325轮询web服务器311。在本示例 中,权威DNS解析器301判定web服务器307是“最接近的”。权威DNS解析器301随后将 web服务器307的IP地址(“2.2.2.2”)发送给客户端319。客户端随后利用相同的下层 协议进行到权威DNS解析器301所位于的网络边缘的连接,并且连接到web服务器307。因 此,客户端319能够连接到最接近的web服务器307而不用生成因特网的地图。服务器故障切换在实施例中,在不存在接近所选权威DNS解析器的web服务器或者web服务器出 了故障的情况中,从客户端到web服务器的连接仍然经过与所选权威DNS解析器相同的网 络进入点。这可能在故障切换或过载反馈中出现。如这里使用的,服务器的故障切换是指 当先前活动的服务器出故障或异常终止时,自动地转换到冗余的或备用服务器的能力。如 这里所使用的,过载反馈是指来自服务器或网络的信息,该信息指示工作量或网络流量超 过了指定阈值并且应当向另一服务器作出连接请求。这在图3B中示出。在图3B中,web服务器307出了故障。这可能是由于操作故障或流量过载。故障 由权威DNS解析器301在正常健康检测情况下被检测到。客户端被路由到与图3A所示的相 同的“接近的”权威DNS解析器301。在此状况下,客户端仍然经过同一网络进入点313。权 威DNS解析器301判定web服务器309而非出了故障的web服务器307是“最接近的” web 服务器。权威DNS解析器301向客户端319发送web服务器309的IP地址(“3. 3. 3. 3”)。 客户端319随后通过进入点313进行连接,并且采用路径331以连接到web服务器309。在实施例中,当在客户端连接到web服务器时该web服务器出故障时,客户端向网 络重新发送名称解析IP分组以重新连接到网络。该IP分组可被路由到与进行初始连接时 相同的权威DNS解析器。权威DNS解析器基于轮询到的可用性和临近度来选择web服务器。 已出故障的web服务器不应当再可用。新选择的web服务器的IP地址被发送给客户端,并
8且从客户端到新选择的web服务器的连接被建立。硬件概述图4是图示出其上可以实现本发明实施例的计算机系统400的框图。计算机系统 400包括用于传输信息的总线402或其它通信机构,以及与总线402相耦合以用于处理信息 的处理器404。计算机系统400还包括被耦合到总线402以用于存储将由处理器404执行 的指令和信息的主存储器406,例如随机存取存储器(RAM)或其它动态存储设备。主存储 器406还可以用于存储在将由处理器404执行的指令的执行期间的临时变量或其它中间信 息。计算机系统400还包括被耦合到总线402以存储用于处理器404的指令和静态信息的 只读存储器(ROM) 408或其它静态存储设备。诸如磁盘或光盘之类的存储设备410被设置 并耦合到总线402以用于存储信息和指令。计算机系统400可以经由总线402被耦合到用于向计算机用户显示信息的诸如 阴极射线管(CRT)之类的显示器412。包括文字数字和其它键的输入设备414被耦合到总 线402以用于向处理器404传输信息和命令选择。另一类型的用户输入设备是光标控制器 416,例如鼠标、追踪球或光标方向键,用于向处理器404传输方向信息和命令选择并且用 于控制显示器412上的光标移动。这种输入设备通常具有两个轴(第一轴(例如,χ)和第 二轴(例如y))中的两个自由度,其允许设备指定平面中的位置。本发明涉及将计算机系统400用于实现这里描述的技术。根据本发明的一个实施 例,这些技术是由计算机系统400响应于处理器404执行包含在主存储器406中的一个或 多个指令的一个或多个序列而执行的。这样的指令可从诸如存储设备410之类的另一机器 可读介质被读进主存储器406。包含在主存储器406中的指令序列的执行使得处理器404 执行这里描述的处理步骤。在替代实施例中,硬连线电路可被用来取代软件指令或者与软 件指令相组合以实现本发明。因此,本发明的实施例不局限于硬件电路与软件的任何特定 组合。如这里使用的术语“机器可读介质”是指参与提供使得机器以特定方式进行操作 的数据的任何介质。在利用计算机系统400实现的实施例中,例如在将指令提供给处理器 404供执行时,各种机器可读介质被涉及。这样的介质可以采取多种形式,包括但不限于存 储介质和输运介质。存储介质包括非易失性介质和易失性介质两者。非易失性介质例如包 括光盘或磁盘,例如存储设备410。易失性介质包括动态存储器,例如主存储器406。输运 介质包括同轴电缆、铜线和光纤,包括包含总线402在内的线。输运介质还可以采取声波或 光波的形式,例如在无线电波和红外数据传输期间生成的那些波。所有这些介质必须是有 形的,以使得介质所载运的指令能被物理机构检测到,该物理机构将指令读进机器中。常见形式的机器可读介质例如包括软盘、柔性盘、硬盘、磁带或任何其它磁介质, CD-ROM、任何其它光介质,打孔卡、纸带、具有孔图案的任何其它物理介质,RAM、PROM和 EPROM、FLASH-EPR0M、任何其它存储器芯片或芯子、后面描述的载波、或者计算机可从中进 行读取的任何其他介质。各种形式的机器可读介质可被涉及到将一个或多个指令的一个或多个序列载运 给处理器404供执行中。例如,指令最初可被承载在远程计算机的磁盘上。远程计算机可 将指令载入其动态存储器并且利用调制解调器通过电话线发送指令。计算机系统400本 地的调制解调器可以接收电话线上的数据并且使用红外发送器来将数据转换为红外信号。
9红外检测器可以接收在红外信号中载运的数据,并且适当的电路可以将数据置于总线402 上。总线402将数据载运至主存储器406,处理器404从主存储器406取出指令并执行。由 主存储器406接收的指令在被处理器404执行之前或之后可选地可被存储在存储设备410 上。计算机系统400还包括耦合到总线402的通信接口 418。通信接口 418提供耦合到 网络链路420的双向数据通信,网络链路420连接到本地网络422。例如,通信接口 418可 以是提供到相应类型的电话线的数据通信连接的集成业务数字网络(ISDN)卡或调制解调 器。作为另一示例,通信接口 418可以是提供到兼容的LAN的数据通信连接的局域网(LAN) 卡。无线链路也可以被实施。在任何这样的实施方式中,通信接口 418发送并接收载运了 表示各种类型的信息的数字数据流的电、电磁或光信号。网络链路420通常通过一个或多个网络提供到其它数据设备的数据通信。例如, 网络链路420可以通过本地网络422提供到主机计算机424或到由因特网服务提供商 (ISP)426操作的数据装备的连接。ISP 426进而通过现在常被称为“因特网”的世界范围 分组数据通信网络428来提供数据通信服务。本地网络422和因特网428都使用载运数字 数据流的电、电磁或光信号。载运来自和去往计算机系统400的数字数据的、经过各种网络 的信号以及网络链路420上的并且经过通信接口 418的信号是示例形式的用于输送信息的 载波。计算机系统400可以通过(一个或多个)网络、网络链路420和通信接口 418来 发送消息并接收数据,包括程序代码。在因特网示例中,服务器430可以通过因特网428、 ISP 426、本地网络422和通信接口 418来发送被请求的应用程序代码。所接收的代码可以在其被接收到时由处理器404执行,并且/或者被存储在存储 设备410或其它非易失性存储装置中供以后执行。以这种方式,计算机系统400可以获取 载波形式的应用代码。在前述说明书中,参考依实施方式而不同的多个具体细节描述了本发明的实施 例。因此,对本发明是什么和申请人希望本发明是什么的唯一和排他指示是本申请所产生 的特定形式的一组权利要求,包括任何后续的更正,该形式是这些权利要求所产生的。这里 针对包含在这些权利要求中的术语明确阐述的任何定义将控制在权利要求中所使用的这 些术语的含义。因此,任何未明确记载在权利要求中的限制、要素、属性、特征、优点或性质 不应以任何方式限制该权利要求的范围。说明书和附图因此应以示例性方式而非限制性方 式来理解。
权利要求
一种连接到服务器的方法,包括从第二网络中的第一组多个服务器向第一网络公告去往所述第二网络的路由;从客户端接收被路由到所述第一组多个服务器中的第一特定服务器的请求,其中,所述请求至少部分地基于来自所述第一组多个服务器的公告而被路由到所述第一特定服务器;当在所述第一特定服务器处接收到所述请求时,基于至少一个标准从所述第二网络中的第二组多个服务器中选择第二特定服务器;并且响应于选择所述第二特定服务器,向所述客户端输出所述第二特定服务器的IP地址,以便所述客户端连接到所述第二特定服务器。
2.如权利要求1所述的方法,其中,所述第一组多个服务器中的每个服务器位于所述 第二网络的边缘上。
3.如权利要求1所述的方法,其中,所述请求基于任播被路由。
4.如权利要求3所述的方法,其中,任播利用边界网关协议来实现。
5.如权利要求1所述的方法,其中,所述第一组多个服务器包括与所述第二网络的域 相关联的DNS服务器。
6.如权利要求5所述的方法,其中,所述第一组多个服务器还包括全局负载均衡服务ο
7.如权利要求1所述的方法,其中,对所述第二特定服务器的选择是基于对所述第二 组多个服务器中哪个服务器与所述第一特定服务器最接近的确定的。
8.如权利要求1所述的方法,其中,选择所述第二特定服务器还包括所述第一组多个 服务器中的每个服务器监视所述第二组多个服务器的可用性和健康度。
9.一种系统,包括位于第二网络的边缘上的第一组多个服务器,其中,所述第二网络中的所述第一组多 个服务器被配置为向第一网络公告去往所述第二网络的路由;以及所述第二网络中的第二组多个服务器;所述第一组多个服务器中的第一特定服务器被配置为接收来自客户端的请求,其中, 所述请求至少部分地基于来自所述第一组多个服务器的公告而被路由到所述第一特定服 务器;当接收到所述请求时,所述第一特定服务器被配置为基于至少一个标准从所述第二网 络中的所述第二组多个连接服务器中选择第二特定服务器;响应于选择所述第二特定服务器,所述第一特定服务器被配置为向所述客户端输出所 述第二特定服务器的IP地址。
10.如权利要求9所述的系统,其中,所述请求基于任播被路由。
11.如权利要求9所述的系统,其中,所述第一组多个服务器包括与所述第二网络的域 相关联的DNS服务器。
12.如权利要求9所述的系统,其中,对所述第二特定服务器的选择是基于对所述第二 组多个服务器中哪个服务器与所述第一特定服务器最接近的确定的。
13.一种存储用于连接到服务器的指令的计算机可读存储介质,所述指令包括当被一 个或多个处理器执行时使得所述一个或多个处理器执行如下步骤的指令从第二网络中的第一组多个服务器向第一网络公告去往所述第二网络的路由;从客户端接收被路由到所述第一组多个服务器中的第一特定服务器的请求,其中,所 述请求至少部分地基于来自所述第一组多个服务器的公告而被路由到所述第一特定服务 器;当在所述第一特定服务器处接收到所述请求时,基于至少一个标准从所述第二网络中 的第二组多个服务器中选择第二特定服务器;并且响应于选择所述第二特定服务器,向所述客户端输出所述第二特定服务器的IP地址, 以便所述客户端连接到所述第二特定服务器。
14.如权利要求13所述的计算机可读存储介质,其中,所述第一组多个服务器中的每 个服务器位于所述第二网络的边缘上。
15.如权利要求13所述的计算机可读存储介质,其中,所述请求基于任播被路由。
16.如权利要求15所述的计算机可读存储介质,其中,任播利用边界网关协议来实现。
17.如权利要求13所述的计算机可读存储介质,其中,所述多个服务器包括与所述第 二网络的域相关联的DNS服务器。
18.如权利要求17所述的计算机可读存储介质,其中,所述多个服务器还包括全局负 载均衡服务器。
19.如权利要求13所述的计算机可读存储介质,其中,对所述特定连接服务器的选择 是基于对与所述特定服务器最接近的连接服务器的确定的。
20.如权利要求13所述的计算机可读存储介质,其中,选择所述特定连接服务器还包 括所述多个服务器中的每个服务器监视所述多个连接服务器的可用性和健康度。
全文摘要
描述了用于引导客户端与最接近的web服务器之间的连接的技术。网络的权威DNS解析器被置于该网络的边缘处。利用任播,权威DNS解析器向因特网公告其目的地网区的路由。来自客户端的连接到该网络的请求基于BGP表被路由到最接近的特定权威DNS解析器。一旦请求被接收到,具有最接近的web服务器的IP地址的响应被发送给客户端。最接近的web服务器是通过网络内健康检查测量来确定的,并且权威DNS解析器动态地选择与它们自己最接近的IP地址。将分组引导至最接近权威DNS解析器的路由协议还规定了后续流量到网络的路由。因此,由权威DNS解析器选择的最接近的web服务器是到客户端的最接近的web服务器。
文档编号H04L12/28GK101911600SQ200880123275
公开日2010年12月8日 申请日期2008年12月23日 优先权日2007年12月28日
发明者伊戈尔·加史恩斯科, 兰迪·特洛尔, 大卫·阿普盖尔, 尼特赞·卡特兹, 艾瑞克·瑞德, 莱夫·海德斯特姆, 迈克尔·F·克里斯蒂安 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1