基于Zookeeper的微服务隔离方法及装置制造方法及图纸

技术编号:30231623 阅读:15 留言:0更新日期:2021-09-29 10:05
本发明专利技术公开了一种基于Zookeeper的微服务隔离方法及装置,涉及分布式技术领域,该方法包括:将各个分组开关的开关状态信息保存到Zookeeper集群中,其中,每个分组开关用于控制一个微服务分组的开关状态,每个微服务分组包括:一个或多个微服务节点;将Zookeeper集群中各个分组开关的开关状态信息推送至服务调用方,使得服务调用方Zookeeper集群中各个分组开关的开关状态信息,确定待调用的微服务分组;从待调用的微服务分组中选择一个微服务节点提供服务调用方所需的服务。本发明专利技术能够实现使用开关控制微服务分组开关状态的目的,无需下线微服务且无需频繁访问缓存以获取微服务分组开关的开关状态信息。分组开关的开关状态信息。分组开关的开关状态信息。

【技术实现步骤摘要】
基于Zookeeper的微服务隔离方法及装置


[0001]本专利技术涉及分布式
,尤其涉及一种基于Zookeeper的微服务隔离方法及装置。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]在分布式系统中,经常需要将微服务进行分组,使得不同的微服务分组绑定到不同的数据库,当系统资源不足时新增分组即可达到扩展系统性能的目的;当微服务分组所属的数据库出现问题时(例如,缓慢或者报错)会影响系统稳定性,可将整个分组进行隔离。
[0004]现有技术中主要存在如下两种微服务隔离方法:
[0005]第一种:如图1所示,关闭某个分组下所有的微服务,下线该分组,从而对该分组进行隔离。这种方法存在如下缺点:

操作复杂,容易出错,尤其是微服务非常多的情况下;

多个微服务同时停机,对注册中心造成较大压力,影响系统稳定性;

有些时候需要在微服务启动的状态下进行问题分析与排查,这时该方案无法满足。
[0006]第二种:如图2所示,为每个微服务分组设计一个分组开关,将各个分组开关的开关状态信息(开关值)保存到Redis等高速缓存服务器中,每次系统请求分组时从Redis中获取分组开关的开关状态信息,根据各个分组开关的开关状态信息确定是否将该分组进行隔离。这种方法存在如下缺点:

每次调用分组都需要请求高速缓存,增加高速缓存压力,增加系统响应时间;

从高速缓存查询开关状态为关键路径,如果高速缓存出现问题,则调用方无法获取开关,导致交易无法正常调用,降低了系统稳定性。
[0007]针对上述问题,目前尚未提出有效的解决方案。

技术实现思路

[0008]本专利技术实施例中提供了一种基于Zookeeper的微服务隔离方法,用以解决现有的微服务隔离方法,存在需要对微服务下线或需要频繁访问缓存的技术问题,该方法包括:将各个分组开关的开关状态信息保存到Zookeeper集群中,其中,每个分组开关用于控制一个微服务分组的开关状态,每个微服务分组包括:一个或多个微服务节点;将Zookeeper集群中各个分组开关的开关状态信息推送至服务调用方,使得服务调用方Zookeeper集群中各个分组开关的开关状态信息,确定待调用的微服务分组;从待调用的微服务分组中选择一个微服务节点提供服务调用方所需的服务。
[0009]本专利技术实施例中还提供了一种基于Zookeeper的微服务隔离装置,用以解决现有的微服务隔离方法,存在需要对微服务下线或需要频繁访问缓存的技术问题,该装置包括:Zookeeper集群开关状态信息存储模块,用于将各个分组开关的开关状态信息保存到Zookeeper集群中,其中,每个分组开关用于控制一个微服务分组的开关状态,每个微服务分组包括:一个或多个微服务节点;Zookeeper集群开关状态信息推送模块,用于将
Zookeeper集群中各个分组开关的开关状态信息推送至服务调用方,使得服务调用方Zookeeper集群中各个分组开关的开关状态信息,确定待调用的微服务分组;服务调用模块,用于从待调用的微服务分组中选择一个微服务节点提供服务调用方所需的服务。
[0010]本专利技术实施例中还提供了一种计算机设备,用以解决现有的微服务隔离方法,存在需要对微服务下线或需要频繁访问缓存的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于Zookeeper的微服务隔离方法。
[0011]本专利技术实施例中还提供了一种计算机可读存储介质,用以解决现有的微服务隔离方法,存在需要对微服务下线或需要频繁访问缓存的技术问题,该计算机可读存储介质存储有执行上述基于Zookeeper的微服务隔离方法的计算机程序。
[0012]本专利技术实施例中提供的基于Zookeeper的微服务隔离方法、装置、计算机设备及计算机可读存储介质,通过将控制各个微服务分组开关状态的各个分组开关的开关状态信息保存到Zookeeper集群中,以便服务调用方根据Zookeeper集群推送的各个分组开关的开关状态信息,确定待调用的微服务分组,进而从待调用的微服务分组中选择一个微服务节点提供服务调用方所需的服务。
[0013]与现有技术中需要对微服务下线或需要频繁访问缓存的微服务隔离方案相比,本专利技术实施例中,利用Zookeeper集群存储各个微服务分组开关的开关状态信息,将开关状态信息主动推送给服务调用方,能够实现使用开关控制微服务分组开关状态的目的,无需下线微服务且无需频繁访问缓存以获取微服务分组开关的开关状态信息。
附图说明
[0014]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0015]图1为现有技术中提供的一种微服务隔离方法的实现系统架构示意图;
[0016]图2为现有技术中提供的又一种微服务隔离方法的实现系统架构示意图;
[0017]图3为本专利技术实施例中提供的一种基于Zookeeper的微服务隔离方法流程图;
[0018]图4为本专利技术实施例中提供的一种可选的基于Zookeeper的微服务隔离方法流程图;
[0019]图5为本专利技术实施例中提供的一种基于Zookeeper的微服务隔离方法的实现系统架构示意图;
[0020]图6为本专利技术实施例中提供的一种基于Zookeeper的微服务隔离装置示意图;
[0021]图7为本专利技术实施例中提供的一种可选的基于Zookeeper的微服务隔离装置示意图;
[0022]图8为本专利技术实施例中提供的一种计算机设备示意图。
具体实施方式
[0023]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发
明实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0024]本专利技术实施例中提供了一种基于Zookeeper的微服务隔离方法,可以应用但不限于银行的分布式系统中。
[0025]图3为本专利技术实施例中提供的一种基于Zookeeper的微服务隔离方法流程图,如图3所示,该方法包括如下步骤:
[0026]S301,将各个分组开关的开关状态信息保存到Zookeeper集群中,其中,每个分组开关用于控制一个微服务分组的开关状态,每个微服务分组包括:一个或多个微服务节点。
[0027]在具体实施时,上述S301可将各个分组开关的开关状态信息,使用Json格式字符串保存到Zookeeper集群中。
[0028]S302,将Zookeeper集群中各个分组开关本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Zookeeper的微服务隔离方法,其特征在于,包括:将各个分组开关的开关状态信息保存到Zookeeper集群中,其中,每个分组开关用于控制一个微服务分组的开关状态,每个微服务分组包括:一个或多个微服务节点;将所述Zookeeper集群中各个分组开关的开关状态信息推送至服务调用方,使得服务调用方所述Zookeeper集群中各个分组开关的开关状态信息,确定待调用的微服务分组;从所述待调用的微服务分组中选择一个微服务节点提供所述服务调用方所需的服务。2.如权利要求1所述的方法,其特征在于,在将各个分组开关的开关状态信息保存到Zookeeper集群中之后,所述方法还包括:监测所述Zookeeper集群中各个分组开关的开关状态;当所述Zookeeper集群中任一个分组开关的开关状态发生变化的情况下,将所述Zookeeper集群中发生变化后的分组开关的开关状态信息推送至服务调用方,使得服务调用方根据变化后的分组开关的开关状态信息,确定待调用的微服务分组。3.如权利要求1所述的方法,其特征在于,将各个分组开关的开关状态信息保存到Zookeeper集群中,包括:将各个分组开关的开关状态信息,使用Json格式字符串保存到Zookeeper集群中。4.如权利要求1所述的方法,其特征在于,在将所述Zookeeper集群中各个分组开关的开关状态信息推送至服务调用方之后,所述方法还包括:将各个分组开关的开关状态信息,使用String数组保存到服务调用方,其中,所述String数组中包含一个或多个开关状态为打开状态的分组开关。5.一种基于Zookeeper的微服务隔离装置,其特征在于,包括:Zookeeper集群开关状态信息存储模块,用于将各个分组开关的开关状态信息保存到Zookeeper集群中,其中,每个分组开关用于控制一个微服务分组的开关状态,每个微服...

【专利技术属性】
技术研发人员:黄实
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1