[发明专利]一种微服务调用负载均衡方法及系统在审
申请号: | 201910876276.9 | 申请日: | 2019-09-17 |
公开(公告)号: | CN112527491A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 何贤平 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 唐勇 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微服 调用 负载 均衡 方法 系统 | ||
本发明公开了一种微服务调用负载均衡方法及系统,涉及微服务领域,该方法包括基于服务提供的业务对微服务的调用需求在微服务的服务描述文件中定义负载均衡策略;基于服务提供的业务对微服务的调用需求在配置中心中定义负载均衡策略;微服务启动时,解析微服务的服务描述文件,将解析出的负载均衡策略缓存至本地静态数据缓存中,同时将配置中心中的负载均衡策略缓存至本地动态数据缓存中;微服务被调用时,基于当前的业务,从本地静态数据缓存或本地动态数据缓存中获取对应当前业务的负载均衡策略,并生效。本发明能够当业务调用微服务时,对设置的负载均衡策略灵活选择。
技术领域
本发明涉及微服务领域,具体涉及一种微服务调用负载均衡方法及系统。
背景技术
微服务是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制进行通信,微服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署,可以使用不同的编程语言编写,并使用不同的数据存储技术。
在微服务领域,服务支持横向扩展是一个最基础的功能,横向扩展的主要目的是通过部署多个微服务实例来分摊压力,达到提高系统处理能力的目的,当微服务被多实例部署后,服务消费端在对微服务调用时就必须支持负载均衡,现有系统在支持负载均衡粒度上一般比较单一,有些系统仅支持全局策略,有些系统仅支持方法级策略。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种微服务调用负载均衡方法及系统,能够当业务调用微服务时,对设置的负载均衡策略灵活选择。
为达到以上目的,本发明提供一种微服务调用负载均衡方法,包括以下步骤:
基于服务提供的业务对微服务的调用需求在微服务的服务描述文件中定义负载均衡策略,所述负载均衡策略与业务对应;
基于服务提供的业务对微服务的调用需求在配置中心中定义负载均衡策略,且对于同一业务,配置中心和微服务的服务描述文件中定义的负载均衡策略相同;
微服务启动时,解析微服务的服务描述文件,将解析出的负载均衡策略缓存至本地静态数据缓存中,同时将配置中心中的负载均衡策略缓存至本地动态数据缓存中;
微服务被调用时,基于当前的业务,从本地静态数据缓存或本地动态数据缓存中获取对应当前业务的负载均衡策略,并生效。
在上述技术方案的基础上,
所述负载均衡策略包括全局策略、服务级策略和方法级策略;
所述全局策略适用于所有微服务的负载均衡策略;
所述服务级策略适用于特定微服务被调用时的负载均衡策略;
所述方法级策略适用于特定微服务的特定方法被调用时的负载均衡策略。
在上述技术方案的基础上,
每种业务至少对应一种负载均衡策略;
当业务对应多种负载均衡策略,且负载均衡策略生效时,全局策略的优先级小于服务级策略的优先级,服务级策略的优先级小于方法级策略的优先级。
在上述技术方案的基础上,当对配置中心中的负载均衡策略进行修改时,修改后的负载均衡策略实时同步至本地动态数据缓存,且当微服务被调用时,若本地动态数据缓存和本地静态数据缓存中均存在对应当前业务的负载均衡策略,则本地动态数据缓存中的负载均衡策略生效。
在上述技术方案的基础上,所述将配置中心中的负载均衡策略缓存至本地动态数据缓存中,具体步骤为:当微服务启动时,通过微服务的配置缓存组件从配置中心拉取负载均衡策略,将拉取的负载均衡策略缓存至本地动态数据缓存中,且本地动态数据缓存与配置中心间创建有同步机制,用于保持本地动态数据缓存与配置中心中负载均衡策略的一致性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910876276.9/2.html,转载请声明来源钻瓜专利网。