一种服务器集群系统中的路由方法

文档序号:7703622阅读:127来源:国知局
专利名称:一种服务器集群系统中的路由方法
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种服务器集群系统中的路由方法。
背景技术
随着互联网应用和企业应用的不断扩大,需要大规模的服务器集群系统来部署的各种应用。随着业务规模的增大,应用间的调用关系会越来越复杂,而目前使用的静态路由导致路由信息配置复杂,且不能根据系统负载动态地调整路由信息,导致系统扩容及容灾难以实施。

发明内容
本发明提供了一种服务器集群系统中的路由方法,该方法能动态进行路由,路由信息配置简单,进而扩容以及容灾简单。为达到上述目的,本发明的技术方案是这样实现的本发明公开了一种服务器集群系统中的路由方法,所述服务器集群系统包括由多个应用服务器组成的应用服务器集群和同步服务器,所述同步服务器上保存有应用进程的路由信息,所述路由方法包括应用服务器上的第一指定应用进程启动后连接同步服务器上的协同服务进程,该第一指定应用进程通过协同服务进程将自身的路由信息保存到同步服务器上,并从同步服务器获取所有的路由信息;当第一指定应用进程需要访问第二指定应用进程时,第一指定应用进程从所述获取的路由信息中查找出第二指定应用进程的路由信息,根据第二指定应用进程的路由信息进行路由。由上述可见,本发明这种应用服务器上的应用进程启动后连接同步服务器上的协同服务进程,该应用进程通过协同服务进程将自身的路由信息保存到同步服务器上,并从同步服务器获取所有的路由信息;当该应用进程需要访问另一个应用进程时,从所述获取的路由信息中查找出该另一个应用进程的路由信息进行路由的技术方案,由于路由信息都动态存储在同步服务器上,不需要运维人员再配置每个应用的路由信息,因此能实现动态进行路由,且路由信息配置简单;此外在这种方案下,当某个应用的性能不够时,只需增加服务器,再部署该应用,其路由信息会自动同步,不需要再修改路由配置信息以及重启相关应用,当某个应用服务器宕机时,相关请求也不会再发到该服务器上,因此扩容以及容灾也简单。


图1是本发明实施例中的一种服务器集群系统中的路由方法的流程图2是本发明实施例中的一种服务器集群系统的示意图;图3是本发明实施例中的同步服务器集群的示意图;图4为本发明实施例中的应用进程的启动过程示意图;图5是本发明实施例中的有新的应用进程启动时的路由信息处理流程图;图6是本发明实施例中的将应用进程A更新为应用进程A’的流程图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。图1是本发明实施例中的一种服务器集群系统中的路由方法的流程图。这里所述的服务器集群系统包括由多个应用服务器组成的应用服务器集群和同步服务器,所述同步服务器上保存有应用进程的路由信息,如图1所示,该路由方法包括101,应用服务器上的第一指定应用进程启动后连接同步服务器上的协同服务进程,该第一指定应用进程通过协同服务进程将自身的路由信息保存到同步服务器上,并从同步服务器获取所有的路由信息。102,当第一指定应用进程需要访问第二指定应用进程时,第一指定应用进程从所述获取的路由信息中查找出第二指定应用进程的路由信息,根据第二指定应用进程的路由信息进行路由。下面对图1所示的技术方案进行进一步的说明。图2是本发明实施例中的一种服务器集群系统的示意图。如图2所示,该服务器集群系统包括管理服务器,中心服务器,部署服务器,数据库服务器,由多个应用服务器组成的应用服务器集群、同步服务器。其中管理服务器上部署有管理进程,中心服务器上部署有中心进程,每个应用服务器上都部署有一个应用外壳进程和多个应用进程,同步服务器上部署有协同服务进程。管理进程为用户操作平台,用户通过管理进程下发管理命令给中心进程,中心进程根据命令格式转发给应用外壳进程。中心进程为请求转发进程,主要提供的功能有转发管理进程的请求到每个应用服务器、提供配置给应用外壳进程以及对应用进程上传的状态信息进行记录。应用外壳进程为一守护进程,每台应用服务器都安装一个应用外壳进程,主要提供的功能有启动、停止以及监控应用进程。应用外壳进程在启动的时候会通过远程过程调用(RPC)协议连接中心进程,获取配置信息,并初始化端口池,在应用进程启动时从端口池获取端口提供给应用进程,在应用进程停止时回收其端口。协同服务进程用于管理同步服务器上路由信息。在本发明的实施例中应用进程的路由信息包括应用配置信息和应用运行状态信肩、ο其中,所述应用配置信息包括应用名称、部署服务器组、部署包名称、应用元数据、是否启用标志,如表1所示。所述应用运行状态信息包括应用名称、服务器名称、请求权重、服务器地址、添加时间,如表2所示。
权利要求
1.一种服务器集群系统中的路由方法,其特征在于,所述服务器集群系统包括由多个应用服务器组成的应用服务器集群和同步服务器,所述同步服务器上保存有应用进程的路由信息,所述路由方法包括应用服务器上的第一指定应用进程启动后连接同步服务器上的协同服务进程,该第一指定应用进程通过协同服务进程将自身的路由信息保存到同步服务器上,并从同步服务器获取所有的路由信息;当第一指定应用进程需要访问第二指定应用进程时,第一指定应用进程从所述获取的路由信息中查找出第二指定应用进程的路由信息,根据第二指定应用进程的路由信息进行路由。
2.根据权利要求1所述的方法,其特征在于,所述路由信息包括应用配置信息和应用运行状态信息;其中,所述应用配置信息包括应用名称、部署服务器组、部署包名称、应用元数据、是否启用标志;所述应用运行状态信息包括应用名称、服务器名称、请求权重、服务器地址、添加时间。
3.根据权利要求2所述的方法,其特征在于,所述同步服务器上保存有应用进程的路由信息包括所有的应用配置信息保存在应用配置根节点下,每个应用进程的应用配置信息保存为一个节点,当一个应用进程停止时,保存其应用配置信息的节点不被删除;所有的应用运行状态信息保存在运行信息根节点下, 每个应用进程的应用运行状态信息保存为一个节点,当一个应用进程停止时,保存其应用运行状态信息的节点被删除;所述第一指定应用进程通过协同服务进程将自身的路由信息保存到同步服务器上包括协同服务进程根据第一指定应用进程的请求在应用配置根节点下添加一个节点,在该节点中保存第一指定应用进程的应用配置信息,在运行信息根节点下添加一个节点,在该节点中保存第一指定应用进程的应用运行状态信息。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括协同服务进程根据第一指定应用进程的请求在应用配置根节点下添加一个节点,在该节点中保存第一指定应用进程的应用配置信息后,第一指定应用进程对应用配置根节点添加观察者;协同服务进程在运行信息根节点下添加一个节点,在该节点中保存第一指定应用进程的应用运行状态信息后,第一指定应用进程对运行信息根节点添加观察者;当应用配置根节点和/或运行信息根节点下增加新的节点时,同步服务器上协同服务进程向第一指定应用进程发送通知消息,第一指定应用进程接收到通知消息后,重新通过协同服务进程从同步服务器获取所有的路由信息。
5.根据权利要求2所述的方法,其特征在于,所述根据第二指定应用进程的路由信息进行路由包括根据应用配置信息中的元数据选择路由方式,如果所述第一指定应用进程为有状态, 则选择一致性哈希路由方式,如果所述第一指定应用进程为无状态,则选择随机路由方式;如果选择了一致性哈希路由方式,则根据应用运行状态信息中的请求权重添加虚拟节点,然后根据一致性哈希算法选择一个应用服务器;如果选择了随机路由方式,则使用轮询算法,根据应用服务器的权重,在一个轮询里选择不同的次数,选择出一个应用服务器;选择出一个应用服务器后,如果该应用服务器存在创建时间不同的两条应用进程地址,则选择创建时间靠后的应用进程地址。
6.根据权利要求2所述的方法,其特征在于,所述服务器集群系统还包括中心服务器、部署服务器和数据库服务器;中心服务器上部署有中心进程,每个应用服务器上都部署有一个应用外壳进程;该方法还包括应用服务器上的应用外壳进程的启动过程,具体为 应用外壳进程启动后,读取本地的配置文件,建立与中心服务器的长连接; 应用外壳进程通过中心进程从数据库服务器获取服务器配置信息,根据服务器配置信息初始化端口池,建立后台线程,上传应用的状态信息给中心进程;其中,所述服务器配置信息包括服务器名称、服务器分组、服务器地址、可用端口池、 请求权重、是否启用标志。
7.根据权利要求6所述的方法,其特征在于,该方法还包括应用服务器上的应用进程的启动过程,具体为应用外壳进程在收到中心进程的启动应用进程的命令后,从部署服务器下载对应的服务部署包,并解压到其运行目录下;应用外壳进程启动应用进程,并等待应用进程回连;应用进程启动后分析启动参数,进行初始化,向应用外壳进程返回回连命令;所述启动参数包括服务器名称、服务器地址、中心进程地址、端口列表; 应用外壳进程收到回连命令后发送启动命令给应用进程; 应用进程收到启动命令后,进行初始化,并连接同步服务器上的协同服务进程。
8.根据权利要求7所述的方法,其特征在于,应用服务器上的应用进程的启动过程还包括应用进程启动时,应用外壳进程从端口池获取端口并判断该端口是否已被占用,如果已被占用则重新获取端口,如果没有被占用则分配给应用进程,并进行记录;该方法还包括当应用进程停止时,应用外壳进程回收已经分配给该应用进程的端口到端口池。
9.根据权利要求1至8中任一项所述的方法,其特征在于,该方法还包括将应用进程 A更新为应用进程A’的过程;所述将应用进程A更新为应用进程A’的过程包括中心进程接收到管理进程下发的将应用进程A更新为应用进程A’的命令后,向应用外壳进程发送启动应用进程A’的命令,应用外壳进程接收到该命令后完成应用进程A’的启动过程;应用进程A’启动成功后,中心进程接收管理进程下发的对应用进程A进行更新的命令,中心进程向应用外壳进程发送对应用进程A进行更新的命令,应用外壳进程向应用进程A发送停止命令,应用进程A通过协同服务进程删除自身在同步服务器上的路由信息,然后延缓固定时长后退出。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述同步服务器为由多个同步服务器组成的服务器集群,每个同步服务器上都部署有一个协同服务进程,该服务器集群内的每台同步服务器通过一致性算法进行数据同步;应用服务器上的应用进程启动后随机选择一个同步服务器,与该同步服务器上的协同服务进程进行连接。
全文摘要
本发明公开了一种服务器集群系统中的路由方法。所述服务器集群系统包括由多个应用服务器组成的应用服务器集群和同步服务器,所述同步服务器上保存有应用进程的路由信息,所述路由方法包括应用服务器上的第一指定应用进程启动后连接同步服务器上的协同服务进程,该第一指定应用进程通过协同服务进程将自身的路由信息保存到同步服务器上,并从同步服务器获取所有的路由信息;当第一指定应用进程需要访问第二指定应用进程时,第一指定应用进程从所述获取的路由信息中查找出第二指定应用进程的路由信息,根据第二指定应用进程的路由信息进行路由。本发明的技术方案,能动态进行路由,路由信息配置简单,进而扩容以及容灾简单。
文档编号H04L12/56GK102333029SQ20111017167
公开日2012年1月25日 申请日期2011年6月23日 优先权日2011年6月23日
发明者杨虎, 高磊 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1