AppDirector是radware - WSD 产品的下一代,现在转贴一下基于它的radware GSLB方案:
http://www.radware.com.cn/content/solutions/appdirector_global/appdirector_global_1.asp
1. 需求分析
无论用户的数据中心内部采用多么完善的冗余机制、安全防范工具以及先进的负载均衡技术,单个数据中心的运行方式仍然不能保证关键业务可以7*24不间断运行。
而为了满足处于全球范围内不同地点的用户在访问应用时可以具备相同的快速访问感受,单一的数据中心却完法实现。
基于以上两个最主要的原因,用户通过在不同物理位置构建多个数据中心的方式已经成为用户的必然选择。
然而,在构建了多个数据中心后,如何通过有效手段实现多个数据中心间的协调工作,引导用户访问最优的站点,或者当某个站点出现灾难性故障后使用户仍然可以访问其他站点上的关键业务等问题成为用户最关注的问题。
2. Radware 全局负载均衡解决方案
Radware 的全局负载均衡解决方案能够帮助客户通过将相同服务内容布署在处于不同物理地点的多个数据中心中得到更高的可用性、性能、以及更加经济和无懈可击的安全性,以便在全球范围内的客户获得更快的响应时间。
Radware的全局负载均衡解决方案支持 Radware 下一代 APSolute OS 软件体系结构的全部功能,彻底解决了网络可用性、性能和安全问题,使得应用在多个数据中心中获得更高的灵敏并具有自适应性。配合Radware 的高速度、高容量 ASIC芯片+NP处理器的专用硬件应用交换设备,可有效保障网络应用的高可用性、提升网络性能,加强安全性,全面提升IT服务器等网络基础设施的升值潜力。
结合Radware多年来在智能应用流量管理领域的经验,以及对用户实际需求的分析,我们认为负载均衡器应具备如下功能:
- 能够通过唯一的IP地址或域名的方式作为所有提供相同服务的数据中心的逻辑入口点。
- 全局负载均衡交换机具有灵活的流量分配算法与机制,以确保用户总能访问可以为其提供最优服务的数据中心的内容。
- 通过部署高性能的负载均衡产品,能够及时发现各数据中心或数据中心内部的服务器的健康状况,当某个数据中心出现故障时,保证把后续用户的访问导向到正常运行的数据中心上。
- 针对基于会话的业务,可以提供多种会话保持机制,确保用户在处理业务时的连续性。避免将用户的相同会话的业务请求,分配到不同的数据中心而造成访问失败。
- 应具备安全过虑及防DOS/DDOS的功能,为服务器提供多一层安全保障
- 具有很好的升级与可扩展性,能够适应特定的和不断变化的业务需求。
2.1 方案拓扑图
2.2 AppDirector-Global实现全局及本地负载均衡
在全局及本地负载均衡方面,AppDirector-Global主要在网络中实现以下功能:
2.2.1 全局负载均衡策略
Radware支持多种全局负载均衡策略,能够通过唯一的IP地址或域名的方式作为所有提供相同服务的数据中心的逻辑入口点。根据用户的实际情况,可以选择其中以下的一种,也可以组合同时使用。
方式一 基于DNS 重定向
支持基于Local DNS位置的就近性解析功能。当用户通过域名方式进行访问时,可以根据用户使用的Local DNS位置进行就近性计算,将最佳站点的IP地址解析给用户。
方式二 基于网络就近性判断和广域三角重定向
与方式一相比,本全局负载均衡策略的不同点也是最大优点在于:AppDirector-Global不仅可以解析相应的域名,同时还根据用户真实IP 地址来进行最优站点计算和判断,最终将用户流量重定向相应的服务节点上。当用户请求的服务使用的协议不具有类似于"HTTP 302"的重定向命令时,该策略的顺利实现利用Radware AppDirector-Global产品所独具的"广域三角重定向"能力来完成服务的重定向。
方式三 基于http重定向
当用户请求的服务使用的是http的协议时,可以通过对用户真实的IP地址位置进行就近性计算,由AppDirector-Global发送"HTTP 302"的重定向命令,指引用户访问最佳站点。
方式四 基于rtsp重定向
当用户请求的服务使用的是rtsp的协议时,可以通过就近性计算,由AppDirector-Global发送"HTTP 302"的重定向命令,指引用户访问最佳站点。
2.2.2 就近性计算
为了能够准确计算出全球范围的用户在访问资源时,能够将用户导向"最优"的数据中心前,全局负载均衡器必需经过周密的运算,对用户到各站点之间的距离、延时、及当前数据中心的负载情况等因素全部考虑后,才能真正判断出当前"最优"的服务数据中心。
Radware的设备支持两种就近性计算的方法,建议采用两种方式并存使用。
方式一 静态就近性运算
该方式采用静态地址表的方式对用户的请求进行引导。当用户的IP地址或LDNS的IP地址命中静态地址表时,AppDirector-Global直接将用户导向已定义的最佳站点。当没有命中静态地址表时,则采用动态就近性运算方式。
方式二 动态就近性运算
Radware的动态就近性方式已申请专利,该方式可以根据用户真实位置或LDNS与各站点的往返延时、hops、及各站点的当前负载情况,进行组合运算(三个条件可以设置计算权值),将用户导向最佳站点。
为避免动态计算时为用户带来的访问延时,Radware设备对已查询过的IP地址采用C类地址的计算结果保存方式,对于在同一C类地址内的用户,直接调用已查计算过的地果。另外,可以手工设置计算结果的保留时间。
2.2.3 健康状况检查
AppDirector-Global可靠的健康状况检查可以保证用户获得最佳的服务站点。AppDirector-Global可以监视服务器在IP、TCP、UDP、应用和内容等所有协议层上的工作状态。如果发现故障,用户即被透明地重定向到正常工作的服务站点上。这可以保证用户始终能够获得他们所期望的信息。
为了确保服务正常运行,AppDirector-Global监控从 Web 服务器、中间件服务器到后端数据库服务器的整个路径上工作状态,确保整个数据路径上的服务器都处于正常状态。如果存在一个故障服务器,AppDirector-Global则不会将用户分配到这个发生故障路径的服务器,从而保证为用户提供透明的数据完整性保障。
2.2.4 交易完整性的可靠保证
AppDirector-Global基于DNS会话保持的特性,可以保证用户的相同会话请求始终保持在同一站点的服务器上。
为了保证用户在访问具有会话连续性业务时不会被负载均衡器分配到不同的服务器上,AppDirector-Global在提供本地负载均衡的同时,还可以具备基于cookie,session,source IP等方式将用户的请求定位在相同的服务器上。
2.2.5 完全的容错与冗余
AppDirector-Global的配置提供设备间的完全容错,以确保网络最大的可用性。两台AppDirector-Global设备工作在冗余模式下,通过网络相互检查各自的工作状态,为其所管理的应用保障完全的网络可用性。它们可工作于"主用-备用"模式或"主用-主用"模式,在"主用-主用"模式下,因为两个设备都处于工作状态,从而最大限度地保护了投资。并且所有的信息都可在设备间进行镜像,从而提供透明的冗余和完全的容错,确保在任何时候用户都可以获得从点击到内容的最佳服务。
2.2.6 通过正常退出服务保证稳定运行
当需要进行服务器升级或系统维护时,AppDirector保证稳定的服务器退出服务以避免服务中断。当选定某台服务器要从服务器退出服务后,AppDirector将不会将任何新的用户分配到该服务器。但是,它可以要退出服务的服务器上完成对当前用户的服务。从而保证了无中断的优质服务,以及服务器组的简易管理能力。
2.2.7 智能的服务器服务恢复
将重新启动的服务器应用到服务中时,避免新服务器因突然出现的流量冲击导致系统故障是非常重要的。所以,在将新服务器引入服务器组时,AppDirector将逐渐地增加分配到该服务器的流量,直至达到其完全的处理能力。从而不仅保证用户在服务器退出服务时,同时还保证服务器在启动期间以及应用程序开始时,均能获得不间断服务。
2.2.8 通过负载均衡优化服务器资源
AppDirector执行复杂的负载均衡算法,在多个本地和远程服务器间动态分配负载。这些算法包括循环、最少用户数、最小流量、Native Windows NT 以及定制代理支持。除了这些算法,AppDirector还可以为每个服务器分配一个可以配置的性能加权,从而提高服务器组的性能。
2.2.9 应用交换
AppDirector根据 IP 地址、应用类型和内容类决定流量分配。这样,管理员就可以为不同类型的应用程序分配不同的服务器资源。应用交换支持不同协议上的各种应用,包括 TCP、UDP、IP、Telnet、Rshell、TFTP、流、被动 FTP、HTTP、e-mail、DNS、VOIP 等等。Radware 还为运行于动态端口并要求同步的应用设计了特殊支持功能。
2.2.10 URL交换
AppDirector完全支持 URL 交换,根据 URL 和 HTTP 信息分配流量。每个 URL 都可以重定向到某服务器,或在多个服务器之间进行负载均衡,从而提供优化的 Web 交换性能。根据 URL 文本中包含的信息,AppDirector可以保持客户持续性,从而保证内容的个性化。
2.2.11 内容交换
内容交换使管理员可以根据交易的内容来分配服务器资源。例如,CGI 脚本可以位于一个单独的服务器组,当发生对该内容的请求时,会话就被重定向到其中某个服务器。AppDirecto-Global的内容交换能力可以广泛支持 SSL ID 和 Session ID, 保持客户持续性,保证最佳流量管理和应用内容个性化。
2.3 AppDirecto-Global实现带宽管理
带宽管理软件模块是一个简单的概念主要的思想就是能够按照一系列标准区分用户流量,然后为每种数据包或者会话指定不同的优先级来使用有限的带宽。它允许网络管理者完全而有效的控制他们可用的带宽,使用这些功能可以按照一系列标准,指定应用程序的优先次序,同时还考虑了每个应用程序已使用的带宽。在确定了会话的优先级后可以对带宽限制进行配置以保证一些应用程序使用的带宽没有超过预先定义的带宽限制。
2.4 AppDirecto-Global实现端到端应用安全解决方案
应用安全软件模块包含的一组功能集使Radware 的产品能够保护敏感的网络资源不受到各种安全问题的影响。此系统包括一些基本的安全措施例如服务器过载保护和能够将资源从一般的Internet 资源中隐藏起来。同时还能够为使用SynApps 流量管理的敏感资源提供高级的安全性,这包括检测并预防1500多个恶意攻击信息,包括特洛伊木马、后门、DoS 和DdoS 攻击。
此模块能够处理以下攻击:
- 拒绝服务 (DOS/DDOS) 攻击
- 缓冲区溢出/超限
- 利用已知的 Bugs,误配置和默认的安装问题来进行攻击
- 在攻击前探测流量
- 未授权的网络流量
- 后门/特洛伊木马
- 端口扫描 (Connect & Stealth)
3. Radware 全局解决方案的优势
3.1.1 AppDirector-Global同时支持本地和全局服务器负载均衡
Radware 的AppDirector-Global既可以进行本地的服务器负载均衡,也可以同时进行全局服务器的负载均衡,这样,对于一个系统来说,在刚开始只需要本地服务器负载均衡的时候,可以购买Radware的AppDirector来进行本地的服务器负载均衡,AppDirector相对AppDirector-Global来说比较便宜,可以节省用户的投资,随着业务量的不断增加,如果用户需要进行全局的服务器负载均衡,可以非常方便的把现有的AppDirector通过license升级为AppDirector-Global可以充分利用原有的投资,避免不必要的浪费。
3.1.2 Radware的全局三角传输技术可以确保真正的网络就近性判断
Radware在全局重定向解决方案上可以支持HTTP重定向,DNS重定向,全局三角传输重定向(Radware 专利技术)。其专利技术的三角传输全局重定向技术可以解决HTTP,DNS重定向的某些局限性。而其他厂商目前只支持HTTP,DNS重定向技术,所以在特定的HTTP和DNS重定向无法满足用户需求的情况下只有Radware的解决方案可以满足用户的需求。
HTTP重定向的问题:
HTTP重定向技术使用了HTTP协议自带的重定向机制,所以不需要用户做相应的改动,但是由于HTTP重定向技术制支持HTTP协议的重定向,如果用户除了HTTP业务还有其他的应用需要作全局的重定向,HTTP重定向技术就无法满足用户的需求了。
DNS重定向的问题:
DNS重定向技术由于是发生在用户DNS解析阶段,所以DNS重定向技术可以支持所有通过DNS解析的应用的全局重定向,但是由于DNS重定向在做就进性检测的时候检测的是用户设置的DNS服务器的地址,而不是用户的真实IP,所有就近性的检查不是针对用户的IP的,这样在一个城域网的环境中,DNS服务器只有一个,这样用户的访问会集中到离DNS服务器近的站点,没有做到真正的用户就近重定向。
由于HTTP重定向以及DNS重定向技术存在的问题,所以在某些情况下,HTTP重定向技术和DNS重定向技术无法满足用户的需求,比如一个运营商在一个城域网内部署流媒体服务,HTTP重定向无法进行流媒体业务的重定向,而DNS重定向的就近性检查是针对用户的DNS服务器进行的,在城域网中,由于一个运营商的DNS服务器只有一个,这样,如果通过DNS重定向的方式,会造成用户的就近性检查不准,从而使得靠近DNS服务器的服务点的用户数量大,而其他服务点的用户数量少,所以DNS重定向的方式也无法满足用户的需求。
Radware的全局三角传输技术可以很好的解决上述2个问题:
- 支持流媒体业务的全局重定向
- 准确的就近性判断
Radware的全局重定向技术可以对各种应用进行全局重定向,另外Radware的全局重定向在就近性检测是对用户的真实IP进行的就近性的检查,就近性的检测是真实的
3.1.3 Radware的全局重定向技术可以支持三级的重定向
Radware的全局重定向技术,可以通过各种重定向方法的混合使用,实现三级的全局服务器重定向,目前只有Radware的解决方案可以实现该功能。
通过三级重定向技术,使得站点的无限扩充成为可能。
下面是我的其他博客:
博客园,写一些工作和学习的笔记: http://www.cnblogs.com/peon/
博客堂,开发方面的一些文章:http://blog.joycode.com/peon/
流媒体博客,流媒体方面的一些文章:http://blog.lmtw.com/b/peon/