【技术实现步骤摘要】
本专利技术属于信息系统领域,尤其涉及一种基于实时负载率的远程服务调用负载均衡系统。
技术介绍
随着信息系统的发展,应用规模日趋庞大,不同应用间的交互不断增多,传统信息系统存在大量重复的共性业务逻辑,大大降低了系统的可靠性、可维护性与可定制性。目前,采取将核心业务抽取出来成为服务,划分原有复杂的应用,以模块形式独立部署,能够实现服务的共享与重用。然而当服务数量不断增多,服务间依赖关系变的复杂,简单暴露与引用远程服务无法满足用户需求。传统的远程服务调用过程中,客户端直接配置远程服务地址进行服务访问,大量服务交互使得服务地址的配置管理十分困难。在集群环境中,为保证服务调用的可靠性,多采用多服务实例部署。即单个服务包含多个可用的服务实例,防止单个服务实例出现异常的情况下,仍能维持服务的正常访问。在多实例场景中,如何选择服务实例进行连接成为服务交互中不可避免的问题。随机负载均衡算法,采用随机的方式发放客户端请求;轮询负载均衡算法,采用遍历服务实例列表的方式发放客户端请求。以上算法不具有一定的动态性,未能考虑服务的实时负载情况,并且不支持用户自定义的负载策略配置。
技术实现思路
专利技术目的:本专利技术针对目前信息系统中远程服务调用过程中存在的服务寻址不透明、服务负载不均问题,从服务实时负载率角度,提出一种基于实时负载率的远程服务调用负载均衡系统,包括监控中心、注册中心、客户端和服务端,所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报;所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;所述客 ...
【技术保护点】
一种基于实时负载率的远程服务调用负载均衡系统,其特征在于,包括监控中心、注册中心、客户端和服务端;所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报;所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;所述客户端包括负载均衡器模块,所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端;所述服务端用于提供远程服务并向注册中心注册服务实例名称和访问地址。
【技术特征摘要】
1.一种基于实时负载率的远程服务调用负载均衡系统,其特征在于,包括监控中心、注册中心、客户端和服务端;所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报;所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;所述客户端包括负载均衡器模块,所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端;所述服务端用于提供远程服务并向注册中心注册服务实例名称和访问地址。2.根据权利要求1所述的系统,其特征在于,所述监控中心用于状态监控和统计服务连接数,具体包括:监控中心分别接收服务端与客户端定时发送的心跳数据,根据心跳状态判断当前客户端与服务端的连接情况,将服务实例的新增、变更、异常、断开信息实时推送给在线的客户端;监控中心实时统计当前服务实例所对应的客户端连接数信息,并向注册中心推送实例连接数更新列表;监控中心提供可配置的监控周期设置,用户根据系统需求,定制监控统计频率。3.根据权利要求1所述的系统,其特征在于,所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级,具体包括:启动服务实例时,服务实例自动向注册中心发送注册信息,包括服务实例访问地址、服务实例名称、服务实例支持最大连接数MAX信息,注册中心接收注册信息并进行持久化,同时通知客户端;注册中心获取服务实例连接数信息,计算服务负载率情况,实时将服务实例负载等级变动列表推送给客户端;注册中心提供负载等级划分算法,根据等级划分标准,以级别数代替具体连接数字,表示服务实例当前负载率,同时屏蔽小范围连接数频繁上下波动导致的级别数更新;当客户端启动时,向注册中心发送服务连接请求,注册中心接收服务连接请求,查询当前服务下可用服务实例列表向客户端推送,可用服务实例列表包括服务实例地址及其负载等级信息。4.根据权利要求3所述的系统,其特征在于,所述注册中心包括负载等级划分模块,负载等级划分模块提供负载等级划分算法,计算服务实例当前负载率LF,并将负载率转化为相应负载等级LL,以可量化的方式表示当前服务负载状态。5.根据权利要求...
【专利技术属性】
技术研发人员:丁乙,李荣宽,杨旸,汪敏,朱勇,徐文聪,
申请(专利权)人:中国电子科技集团公司第二十八研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。