一种基于事件通知的微服务动态负载均衡的方法及装置制造方法及图纸

技术编号:19938443 阅读:31 留言:0更新日期:2018-12-29 06:37
本申请公开一种基于事件通知的微服务动态负载均衡的方法,用于实现微服务架构设计动态负载均衡;包括如下步骤:微服务提供终端向服务中心注册,并对外提供微服务;微服务消费终端内置服务发现模块和负载均衡模块;微服务消费终端根据服务名发起调用服务请求;服务发现模块获取可用的服务列表,并以事件通知的方式发送给负载均衡模块;负载均衡模块计算可有服务;微服务消费终端发起服务调用;注册中心及时更新,并将服务处于暂停状态的终端删除;微服务消费终端还设置有心跳检查模块;服务发现模块发起检查,当被推送的服务列表与原列表存在差异时,发起事件更新通知;负载均衡模块对服务列表进行更新。本发明专利技术可实现微服务架构设计动态负载均衡。

【技术实现步骤摘要】
一种基于事件通知的微服务动态负载均衡的方法及装置
本专利技术涉及微服务架构
,具体涉及一种基于事件通知的微服务动态负载均衡的方法及装置。
技术介绍
现有技术中互联网产品在进行架构设计时,会采用基于微服务的架构进行总体设计,用于微服务的服务注册、服务发现及服务路由。基于微服务的架构设计会涉及到服务注册,服务发现和服务的负载均衡(服务路由)。现有技术中的微服务架构通常由专门的负载均衡设备来进行服务的负载均衡,花钱购买设备,占用硬件资源和网络资源。而且商业的负载均衡设备采用配置文件进行负载均衡,无法做到动态负载均衡。此外,部分客户端的服务功能模块也实现服务的负载均衡功能,这种实现涉及到资源锁的抢占和锁定,性能较低。因此,提供一种基于事件通知的微服务动态负载均衡的方法及装置,用于解决上述技术问题中的至少一种,成为本领域亟待解决的技术问题。
技术实现思路
本专利技术的目的在于克服上述不足,提供一种基于事件通知的微服务动态负载均衡的方法,其能够解决微服务架构设计动态负载均衡的技术问题。为了实现上述目的,一方面,本专利技术采用的技术方案为:一种基于事件通知的微服务动态负载均衡的方法,所述方法包括本文档来自技高网...

【技术保护点】
1.一种基于事件通知的微服务动态负载均衡的方法,所述方法包括如下步骤:微服务提供终端将服务名和自身的URL发送至服务中心,并对外提供微服务;所述服务中心内设置有注册中心,所述服务中心根据所述服务名和URL将所述微服务提供终端在所述注册中心注册;微服务消费终端内设置有服务发现模块和负载均衡模块;所述服务发现模块用于向注册中心发起请求,获得最新的用于对外提供服务的服务列表,以事件通知的方式通知所述负载均衡模块;所述负载均衡模块就获得最新的服务列表自身进行维护;微服务消费终端根据服务名发起调用所述服务列表内的其中一项服务的调用请求;所述负载均衡模块基于自身维护的服务列表计算出可有的某一项服务,并将计...

【技术特征摘要】
1.一种基于事件通知的微服务动态负载均衡的方法,所述方法包括如下步骤:微服务提供终端将服务名和自身的URL发送至服务中心,并对外提供微服务;所述服务中心内设置有注册中心,所述服务中心根据所述服务名和URL将所述微服务提供终端在所述注册中心注册;微服务消费终端内设置有服务发现模块和负载均衡模块;所述服务发现模块用于向注册中心发起请求,获得最新的用于对外提供服务的服务列表,以事件通知的方式通知所述负载均衡模块;所述负载均衡模块就获得最新的服务列表自身进行维护;微服务消费终端根据服务名发起调用所述服务列表内的其中一项服务的调用请求;所述负载均衡模块基于自身维护的服务列表计算出可有的某一项服务,并将计算出的某一项服务返回给所述微服务消费终端;所述某一项服务包括:确定的服务地址和服务内容;微服务消费终端根据所述确定的服务地址和服务内容发起服务调用;注册中心及时更新微服务提供终端的在线状态,将服务处于暂停状态中的服务提供终端及时从服务列表中删除;所述微服务消费终端内还设置有心跳检查模块;所述心跳检查模块根据设定的检查时间周期,向所述注册中心发起请求;所述请求用于确认当前位于所述注册中心内处于在线状态的微服务提供终端,以及获取包含所述在线状态的微服务提供终端信息的服务列表;所述服务发现模块根据所述请求检查注册中心是否可用,在可用的情况下获取所述注册中心已经注册成功的服务列表,并进行服务列表检查;当且仅当所述服务列表检查过程中,所述服务发现模块获取的最新服务列表与所述服务发现模块内原有列表内容信息存在差异时,所述服务发现模块向所述负载均衡模块发起包含服务列表变化信息的事件通知;所述负载均衡模块对被维护的服务列表进行更新,服务列表动态更新任务完成。2.根据权利要求1所述的方法,其特征在于,所述微服务提供终端所提供的服务处于暂停状态的判定条件包括但不限于:系统升级或健康检查。3.根据权利要求1所述的方法,其特征在于,所述负载均衡模块基于自身维护的服务列表计算出可有的某一项服务时所采用的方法包括但不限于:轮训、加权和Hash随机三种算法中的至少一种。4.一种基于事件通知的微服务动态负载均衡的装...

【专利技术属性】
技术研发人员:任景军
申请(专利权)人:北京东软望海科技有限公司
类型:发明
国别省市:北京,11

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

1