多层次负载平衡之四

6.国内外在高层负载均衡方面已经有不少产品:

6.1典型产品:Intel网擎负载均衡器

负载均衡服务具体分为本地负载均衡服务和远程负载均衡服务。英特尔公司的网擎(Intel NetStructure)7170网络应用负载均衡器,可应用于本地负载均衡服务。该设备能够平衡服务器群中所有的服务器和应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和优秀的服务器群性能。服务器故障切换和多重冗余特性可以让通信绕过故障点, 从而使用户站点始终保持运行和可访问性。并且,每次提供负载均衡服务后,7170网络应用负载均衡器都有记录,每天都会自动生成一个报告,客户通过这一报告还能了解流量的分布情况。

英特尔网擎系列中的7190多址负载均衡器可用于远程负载均衡服务。这一设备针对拥有多个网站地址的企业进行专门设计,能够根据单个URL地址将通信路由到方便可用的站点,从而实现广域网范围的负载平衡。为了提高响应速度,7190采用 “快速响应模式”,使所有的站点都能对同一用户的访问请求作出响应,响应最快的站点将接受并完成这一访问任务,而不是在发生用户请求时计算“最快”的路由因而产生额外的延迟时间。管理员可以采用这种模式确保很短的服务器响应时间,也可以选择对用户满意度产生更大影响的其他算法。系统在后台收集多站点状态信息,如服务器响应时间、通信量、本地系统状态,从而使7190能够立即确定每个数据中心的状态,并将访问导向最佳站点。

6.2 ArrowPoint

ArrowPoint推出其具有URL认知的内容Web交换机CS-100 和 CS-800。HydraWeb 也在1999年推出了独立负载平衡设备 Hydra2500 的计划,Hydra2500同时具有URL和应用认知的智能性。 Cisco 的LocalDirector产品将是一台具有内容认知功能的交换设备,这意味着需要管理的软硬件更少,在响应对内容和应用的请求时会做出更加自动化的决策。3Com和F5 Networks也提出类似的内容交换产品。

7.主要问题

  1. 交换层次低,大多数的主流产品仅仅停留在四层交换的技术面上,在复杂的Web应用中难以胜任。
  2. 有部分硬件厂商实现了内容交换,但是都以集成硬件的方式进行设计,实施成本高。
  3. 现有的内容交换技术无法支持用户可定制的可扩展内容过滤策略,这样在新的Web应用协议推出后,不得不随之升级软硬件系统。
  4. 由于灵活性差,内容交换很难与其他网络设备集成,比如防火墙或者应用网关。集成完全依赖于厂商的解决方案,无法形成标准。

8.提出新的构思

  1. 在Linux开放源码核心上构筑基于内容策略的第七层交换体系,用纯软件的方式实现,可大大节省用户实施负载均衡的成本。
  2. 设计可扩展的内容过滤策略,能够根据实际需求定制内容过滤机制,满足不同应用环境、协议的需要。
  3. 面向应用层的HA支持,充分提高其运行时可用性,保障不间断的Web服务。
  4. 设计面向应用的负载均衡算法,采取基于阀值控制、权值调度的作业分配机制。

9.可以从一下几个方面入手:

9.1 体系结构设计:

基于纯软件的解决方案,硬件平台为标准的SMP PC服务器。负载均衡器位于服务器群和客户端之间,充当应用网关的角色,通过VIP使得整个集群对外体现为一个单一的IP地址。每一个客户端的网络请求都直接发向该地址,由负载均衡器处理后重新定向到具体提供服务的服务器结点上。服务器返回的数据不再经过负载均衡器的处理,而直接返回到客户端,保障负载均衡器不会成为整个集群系统的瓶颈。

9.2 负载均衡算法:

平衡方法是负载均衡中负载分配的主要策略依据。主要有,随机分配、轮转分配、散列函数分配、基于最少连接分配、最快响应分配等,每一种分配算法各有其优缺点,课题中将详细研究在Web环境下的分配算法哪一个更有效,能够充分保证负载的正确均衡,此外,结合上述的分配算法,还要通过加权来确定服务群结点的优先级,按照优先级的先后顺序进行负载平衡。

权值的获取和计算可以不同,基本上分为基于流量的权值计算和基于负载的权值计算。基于流量的权值计算是通过分析当前服务网络的平均流量或者是服务结点的平均流量而获得,是集群网络负载的一个反映;基于负载的分析是通过负载信息采集工具来定时获得结点的CPU、RAM、I/O的运行状况,借此判定结点是否出于过载状态。以上的几类方法结合可以有效的进行负载均衡工作。

9.3 基于阀值的控制策略:

阀值指的是人为地为集群内某个服务结点设定一个服务能力上限。一旦该结点当前的负载超过了这个值,负载均衡器将不在对其进行任务分配工作,直到该负载下降到阀值以下后才会进行重新分配。阀值控制可以满足某些特殊的Web应用需求,尤其是在ICP集成环境里,多个服务商提供相似的内容时,通过阀值策略可以保护服务商的有效服务质量。

9.4 可扩展的内容解析模块:

基于Web请求的内容解析是一个相对复杂的任务。涉及到大量的上下文分析,要识别出HTTP系列协议中关键的用户数据:Cookie信息、用户认证数据、会话的起始标志、异常、流类型等等,并根据分析的结果结合负载算法进行任务分配。内容解析是可以动态加载的运行时模块,能够提供标准的正则语法支持,通过用户配置文件可以升级内容过滤器。整体实现上充分考虑其升级扩展的成本。

9.5 应用层HA能力的支持:

大多数产品仅仅支持针对连接的可用性检测,比如在IP层上进行定时ICMP监测。对于多样化的Web环境,监测要扩展到应用协议层,可以针对不同的协议进行HA工作。比如在HTTP层监测页面访问的有效性,在SSL上监测服务器认证能力是否正常。那么,在应用层进行HA设计就必须是可扩展的,可以根据不同的协议定制不同监测程序。

HA还涉及到失效处理和恢复的任务。当某个应用结点被检测出失效事件时,均衡器能够识别并及时做出响应,终止当前在失效结点上的用户连接,通知系统管理员并详细记录日制,对随后的访问不再分配到该结点上。当失效结点恢复正常状态后,同样能够识别出恢复事件,及时将正常的结点加入负载均衡队列,并赋予较高的权值,使之能够尽快获得负载分配的任务。

10. 技术路线和研究环境:

  1. 双CPU的PC服务器,内置双100M网卡,通过100M交换机和4台普通的PC服务器相连,每台机器配有合法的地址,客户端都可以直接访问其中的任何一台。负载均衡器运行Linux 2.4核心的操作系统,客户端运行Windows系统或者Linux系统,运行标准的Web服务器。
  2. 基于开放源码的Linux操作系统,将核心交换功能在核心空间实现。这样能够充分利用Linux内核对TCP/IP协议栈的多线程高效处理能力。
  3. 利用NetFilter层实现网络数据包的处理功能。netfilter是Linux 核心中一个通用架构,它提供了一系列的"表"(tables),和若干"链"(chains)组成,每一条链中可以有一条或数条规则。程序核心根据其规则来处理进入网络的数据。 Netfilter通过一系列的“钩子”函数实现对数据流的捕获和处理,由于处理的过程可以灵活的指定在核心空间或者是用户空间,可以在性能和功能上获得平衡。
  4. 通过Linux的可加载系统模块实现内容解析功能的动态加载。加载模块与核心层通过共享存储区进行数据通信,并将规则的判断结果通知核心处理程序。
  5. 正则语法解析,通过内置的正则语法解析器,可以对用户定制的内容过滤策略进行规则匹配。

300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00485 秒