论文部分内容阅读
随着计算机和互联网技术的迅速发展和成熟,越来越多的企业开始进入了互联网商业模式的时代。通过部署互联网商业解决方案,能够全方位的为企业降低成本、提高客户满意度、改善业务流程和扩展新兴市场,从而使企业在激烈的市场竞争中处于领先地位。为了保证企业服务的可靠性和连续性,高可用集群技术孕育而生并且得到了长足的进步。基于Linux的高可用集群性能出色、价格低廉,为企业提供了一种极具吸引力的解决方案。
本文通过对开源高可用集群项目Linux-HA的分析和研究,提出了高可用自适应负载均衡系统的设计思想,通过插件的方式为基于容错模型的Linux-HA系统增加自适应负载均衡模块。目前的许多负载均衡集群,往往缺乏对集群节点状态以及服务进程状态的实时监控,一旦节点或节点上的服务进程出现故障以及失效,负载均衡器无从知晓,因此客户的请求依旧会分发给出现故障的节点。自适应的负载均衡模块能够解决上述问题,Linux-HA实现了一套完备且高效的节点及服务状态监控机制,同时其良好的设计框架也为这些信息的获取提供了接口,负载均衡模块能够即时的得到节点状态以及服务状态的变化信息,从而动态的修改请求转发列表,将失效节点或服务失效的节点从相应的位置删除,避免了客户请求转发给无法服务的节点。
本文所实现的模块,其核心是基于Linux内核Netfilter框架的TCP传递技术,通过在恰当的监控点挂载回调函数,实现对用户请求报文的监控、修改和转发。另一方面,作为Linux-HA的插件,模块能够与系统的相关功能模块通信,获得集群全局状态图,同时,通过在各服务节点进行负载采集分析,计算出节点性能汇总到负载均衡器已达到动态负反馈的目的。最终这些信息都将通过自定义的socket命令字传入内核,实现内核态和用户态的数据交互,以达到修改报文转发列表的目的。这些研究工作,对于保证企业服务的可靠性和连续性,提高企业的竞争能力,有使用价值和应用前景。