一种基于进程迁移的Apache服务器集群负载均衡的方法技术

技术编号:19437206 阅读:61 留言:0更新日期:2018-11-14 13:21
一种基于进程迁移的Apache服务器集群负载均衡的方法,Apache服务器在进程运行中进行进程迁移,包括代理服务器和调度服务器,代理服务器用于监控节点的负载状况和触发进程迁移,代理服务器在启动后会侦听所述调度服务器的广播;调度服务器用于保存各节点的负载信息,根据全局状态做出负载均衡的决策,与代理服务器进行通信;包括进程迁移的过程:步骤A:代理服务器在源节点提取进程状态;步骤B:调度服务器将进程状态转移到目标节点;步骤C:在目标节点上根据转移的进程状态再生该进程,使该进程继续运行。本发明专利技术通过将进程从负载较重的节点转移到负载较轻的节点上,使得负载均衡得到平衡,该迁移过程对于用户是透明无感知的,不会增大用户感知的延迟。

【技术实现步骤摘要】
一种基于进程迁移的Apache服务器集群负载均衡的方法
本专利技术涉及计算机领域,尤其涉及一种基于进程迁移的Apache服务器集群负载均衡的方法。
技术介绍
随着互联网的迅猛发展,网络的信息量和访问量飞速的增长,服务器超载的问题日益严重,web服务器集群技术因此提供了一种有成本效益的高性能解决方案。集群系统的关键问题在于如何有效利用系统范围内的资源。而负载均衡技术的引入使得负载可以在集群各节点之间尽可能的平均动态分配,从而完成大运算量的计算,提高响应能力。现有技术中的负载均衡技术有以下几种:http重定向、基于DNS的负载均衡和网络地址转换技术,但是以上几种负载均衡技术均有缺点,在转换的过程中都会让客户有明显的感知,即增大了用户感知的延迟。
技术实现思路
本专利技术的目的在于提出一种基于进程迁移的Apache服务器集群负载均衡的方法,通过将进程从负载较重的节点转移到负载较轻的节点上,使得负载均衡得到平衡,该迁移过程对于用户是透明无感知的,不会增大用户感知的延迟。为达此目的,本专利技术采用以下技术方案:一种基于进程迁移的Apache服务器集群负载均衡的方法,Apache服务器在进程运行中进行进程迁移,包括代理服务器和调度服务器,所述代理服务器用于监控节点的负载状况和触发进程迁移,所述代理服务器在启动后会侦听所述调度服务器的广播;所述调度服务器用于保存各节点的负载信息,根据全局状态做出负载均衡的决策,与所述代理服务器进行通信,实现进程迁移的触发;包括进程迁移的过程:步骤A:所述代理服务器在源节点提取进程状态;步骤B:所述调度服务器将进程状态转移到目标节点;步骤C:在目标节点上根据转移的进程状态再生该进程,使该进程继续运行。优选的,通过设置一个进程迁移模块来实现进程迁移,还设置有一个记分牌来更新进程的状态;包括提取进程状态的过程:步骤A1:所述代理服务器与源节点的代理服务器进行通信,通过判断记分牌来寻找最忙碌的Apache进程;步骤A2:所述代理服务器向Apache进程发送中断信号,并触发检查点机制,生成检查点文件;优选的,包括调度服务器将进程状态转移到目标节点的过程:步骤B1:源节点的代理服务器将保存在分布式文件系统中的检查点文件名发送到所述调度服务器;步骤C1:所述调度服务器将检查点文件名发送到目标节点,并通知目标节点的代理服务器寻找一个空闲的Apache进程。优选的,所述目标节点的代理服务器收到所述调度服务器的通知后,会寻找一个空闲的Apache进程,并触发进程迁移模块进行迁移。优选的,包括如何判断进程的状态的过程:步骤b1:Apache服务器先建立一个父进程,所述父进程被创建后会建立起侦听80端口的套接字,所有的子进程均继承了该套接字;步骤b2:接着Apache服务器会建立子进程池,所述进程池被建立后开始轮询所有的侦听套接字;步骤b3:当没有客户连接时,所述子进程池里的子进程都会睡眠在临界区外;当有客户连接时,子进程通过信号量来竞争使用临界区代码从而提供web服务,并在所述记分牌上记录子进程的状态。附图说明图1是本专利技术的进程迁移流程图;图2是本专利技术的提取进程状态流程图;图3是本专利技术的将进程状态转移到目标节点的流程图;图4是本专利技术的判断进程状态流程图。具体实施方式下面结合附图并通过具体实施方式来进一步说明本专利技术的技术方案。本实施例的一种基于进程迁移的Apache服务器集群负载均衡的方法,Apache服务器在进程运行中进行进程迁移,包括代理服务器和调度服务器,所述代理服务器用于监控节点的负载状况和触发进程迁移,所述代理服务器在启动后会侦听所述调度服务器的广播;所述调度服务器用于保存各节点的负载信息,根据全局状态做出负载均衡的决策,与所述代理服务器进行通信,实现进程迁移的触发;如图1所示,包括进程迁移的过程:步骤A:所述代理服务器在源节点提取进程状态;步骤B:所述调度服务器将进程状态转移到目标节点;步骤C:在目标节点上根据转移的进程状态再生该进程,使该进程继续运行。通过进程迁移的方式来实现web集群的负载均衡,即将负载高的进程迁移到负载低的进程上运行。基本思想是在进程执行过程中进行迁移,使得该被移动的进程在新的节点上继续存取所需资源和正常运行,但无需知道在哪里发生了中断,该迁移过程对于用户来讲是透明无感知的,既实现了服务器集群的负载均衡,又减少了用户感知的延迟。优选的,通过设置一个进程迁移模块来实现进程迁移,还设置有一个记分牌来更新进程的状态;如图2所示,包括提取进程状态的过程:步骤A1:所述代理服务器与源节点的代理服务器进行通信,通过判断记分牌来寻找最忙碌的Apache进程;步骤A2:所述代理服务器向Apache进程发送中断信号,并触发检查点机制,生成检查点文件。在进程迁移中,需要先判断哪些进程是需要被迁移的,因此需要找出最忙碌的进程,而找出最忙碌的进程需要通过记分牌来寻找,记分牌记录着每个进程的状态;找到最忙碌的进程后,需要将进程现在的状态保留,方便迁移过去后,可以继续从现在的状态开始,而保留进程现状就需要触发检查点机制,并将进程的现状保留生成一个检查点文件。优选的,如图3所示,包括调度服务器将进程状态转移到目标节点的过程:步骤B1:源节点的代理服务器将保存在分布式文件系统中的检查点文件名发送到所述调度服务器;步骤C1:所述调度服务器将检查点文件名发送到目标节点,并通知目标节点的代理服务器寻找一个空闲的Apache进程。在找到最忙碌的并且需要转移的进程后,接下来就需要将进程转移到空闲的目标节点上,代理服务器是用于监控节点的负载状况,用于找到目标节点,然后触发进程迁移;代理服务器会将检查点文件名发给调度服务器,调度服务器根据全局状态做出负载均衡的决策,通知目标节点的代理服务器寻找一个空闲的Apache进程。优选的,所述目标节点的代理服务器收到所述调度服务器的通知后,会寻找一个空闲的Apache进程,并触发进程迁移模块进行迁移。优选的,如图4所示,包括如何判断进程的状态的过程:步骤b1:Apache服务器先建立一个父进程,所述父进程被创建后会建立起侦听80端口的套接字,所有的子进程均继承了该套接字;步骤b2:接着Apache服务器会建立子进程池,所述进程池被建立后开始轮询所有的侦听套接字;步骤b3:当没有客户连接时,所述子进程池里的子进程都会睡眠在临界区外;当有客户连接时,子进程通过信号量来竞争使用临界区代码从而提供web服务,并在所述记分牌上记录子进程的状态。以上结合具体实施例描述了本专利技术的技术原理。这些描述只是为了解释本专利技术的原理,而不能以任何方式解释为对本专利技术保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本专利技术的其它具体实施方式,这些方式都将落入本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于进程迁移的Apache服务器集群负载均衡的方法,其特征在于:Apache服务器在进程运行中进行进程迁移,包括代理服务器和调度服务器,所述代理服务器用于监控节点的负载状况和触发进程迁移,所述代理服务器在启动后会侦听所述调度服务器的广播;所述调度服务器用于保存各节点的负载信息,根据全局状态做出负载均衡的决策,与所述代理服务器进行通信,实现进程迁移的触发;包括进程迁移的过程:步骤A:所述代理服务器在源节点提取进程状态;步骤B:所述调度服务器将进程状态转移到目标节点;步骤C:在目标节点上根据转移的进程状态再生该进程,使该进程继续运行。

【技术特征摘要】
1.一种基于进程迁移的Apache服务器集群负载均衡的方法,其特征在于:Apache服务器在进程运行中进行进程迁移,包括代理服务器和调度服务器,所述代理服务器用于监控节点的负载状况和触发进程迁移,所述代理服务器在启动后会侦听所述调度服务器的广播;所述调度服务器用于保存各节点的负载信息,根据全局状态做出负载均衡的决策,与所述代理服务器进行通信,实现进程迁移的触发;包括进程迁移的过程:步骤A:所述代理服务器在源节点提取进程状态;步骤B:所述调度服务器将进程状态转移到目标节点;步骤C:在目标节点上根据转移的进程状态再生该进程,使该进程继续运行。2.根据权利要求1所述一种基于进程迁移的Apache服务器集群负载均衡的方法,其特征在于:通过设置一个进程迁移模块来实现进程迁移,还设置有一个记分牌来更新进程的状态;包括提取进程状态的过程:步骤A1:所述代理服务器与源节点的代理服务器进行通信,通过判断记分牌来寻找最忙碌的Apache进程;步骤A2:所述代理服务器向Apache进程发送中断信号,并触发检查点机制,生成检查点文件。3.根据权利要求1所述一种基于进程迁移的Apache服务器集群...

【专利技术属性】
技术研发人员:李绍良黄衍博史伟黄春豪
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1