多层次负载平衡之四[2]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:

基于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的可加载系统模块实现内容解析功能的动态加载。加载模块与核心层通过共享存储区进行数据通信,并将规则的判断结果通知核心处理程序

本文关键:多层次负载平衡之四
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top