CN114944986B - 服务隔离方法、装置和微服务系统 - Google Patents
服务隔离方法、装置和微服务系统 Download PDFInfo
- Publication number
- CN114944986B CN114944986B CN202210769965.1A CN202210769965A CN114944986B CN 114944986 B CN114944986 B CN 114944986B CN 202210769965 A CN202210769965 A CN 202210769965A CN 114944986 B CN114944986 B CN 114944986B
- Authority
- CN
- China
- Prior art keywords
- isolation
- callable
- service
- information
- list information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 359
- 230000008859 change Effects 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种服务隔离方法、装置和微服务系统,该方法包括:实时获取服务变更信息和隔离配置信息,服务变更信息为上一订阅周期内注册的微服务的IP地址,订阅周期为订阅注册中心的服务变更的时间周期,隔离配置信息至少包括隔离IP,隔离IP为待隔离的微服务的IP地址;根据服务变更信息和隔离配置信息生成当前的可调用IP列表信息,可调用IP列表信息包括可调用的多个微服务的IP地址;发送当前的可调用IP列表信息至所有的客户端。该方法解决了现有技术中服务隔离方法难以实现动态配置的问题。
Description
技术领域
本申请涉及服务隔离技术领域,具体而言,涉及一种服务隔离方法、装置、计算机可读存储介质、处理器和微服务系统。
背景技术
目前行业内大多数服务隔离的方式存在以下缺点:无法灵活、动态地配置;需要代码侵入;服务切换过程用户可感知等等。
目前的大多数隔离方案中,做不到灵活地配置隔离策略、如果想要动态配置隔离策略,则需要针对性地修改业务代码。基于这一点,本发明提供一种基于正则匹配路由规则的无侵入新型服务隔离方法,使得系统可以根据正则表达式,灵活地配置隔离策略,并且在流量切换的过程中间,用户无感知。
现有普遍隔离策略方案为
1)注册中心-RPC框架体系。在微服务体系架构下,各个微服务向注册中心注册,并且与注册中心建立起推拉机制,定时从注册中心获取最新的服务节点信息。微服务通过RPC框架从服务节点信息中,根据负载均衡算法,选择其中一个服务提供方节点信息进行服务调用,因此修改RPC框架的负载均衡算法以实现服务隔离。
2)通过网络隔离,将服务集群隔离。通过主机上的客户端软件在操作系统内核拦截应用程序欲向外网发送的网络数据包,通过应访问规则对网络数据包进行判定,将判定为合法网络数据包的网络数据包转换为私有协议数据包,然后通过网卡驱动发送出去。
注册中心-RPC框架体系是通过修改RPC的负载均衡调用算法来实现服务隔离的功能。这种方式的缺点为:无法做到动态配置隔离信息,每次隔离需要修改RPC框架的调用算法,造成代码侵入;并且需要将所有服务重启,严重影响用户体验。
通过网络隔离的缺点为:网络调整更为复杂,实现动态配置隔离信息太过困难。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种服务隔离方法、装置、计算机可读存储介质、处理器和微服务系统,以解决现有技术中服务隔离方法难以实现动态配置的问题。
根据本发明实施例的一个方面,提供了一种服务隔离方法,包括:实时获取服务变更信息和隔离配置信息,所述服务变更信息为上一订阅周期内注册的微服务的IP地址,所述订阅周期为订阅注册中心的服务变更的时间周期,所述隔离配置信息至少包括隔离IP,所述隔离IP为待隔离的所述微服务的IP地址;根据所述服务变更信息和所述隔离配置信息生成当前的可调用IP列表信息,所述可调用IP列表信息包括可调用的多个所述微服务的IP地址;发送当前的所述可调用IP列表信息至所有的客户端。
可选地,根据所述服务变更信息和所述隔离配置信息生成当前的可调用IP列表信息,包括:将所述服务变更信息对应的所述微服务的IP地址添加至上一所述订阅周期的所述可调用IP列表信息,得到服务变更后的所述可调用IP列表信息;在服务变更后的所述可调用IP列表信息中,删除所述隔离配置信息对应的所述隔离IP,得到当前的所述可调用IP列表信息。
可选地,所述隔离配置信息还包括隔离ID和隔离微服务名称,一组所述隔离配置信息中,一个所述隔离ID对应多个隔离IP,所述隔离微服务名称与所述隔离IP一一对应,所述在服务变更后的所述可调用IP列表信息中,删除所述隔离配置信息对应的所述隔离IP,得到当前的所述可调用IP列表信息,包括:根据正则匹配的路由规则匹配所述隔离ID,得到无匹配的所述隔离ID;在服务变更后的所述可调用IP列表信息中,删除无匹配的所述隔离ID对应的所述隔离IP,得到当前的所述可调用IP列表信息。
可选地,实时获取隔离配置信息,包括:获取管理端页面配置的所述隔离配置信息或者接收第三方系统推送的所述隔离配置信息,所述管理端页面为用于配置所述隔离配置信息的页面。
可选地,发送当前的所述可调用IP列表信息至所有的客户端,包括:对当前的所述可调用IP列表信息进行MD5摘要处理,得到当前的MD5值;在当前的所述MD5值与上一所述订阅周期的所述MD5值不同的情况下,发送当前的所述可调用IP列表信息至所述客户端。
可选地,发送当前的所述可调用IP列表信息至所有的客户端,包括:通过udpSocket向所有的客户端推送当前的所述可调用IP列表信息。
根据本发明实施例的另一方面,还提供了一种服务隔离装置,包括:获取单元,用于实时获取服务变更信息和隔离配置信息,所述服务变更信息为上一订阅周期内注册的微服务的IP地址,所述订阅周期为订阅注册中心的服务变更的时间周期,所述隔离配置信息至少包括隔离IP,所述隔离IP为待隔离的所述微服务的IP地址;生成单元,用于根据所述服务变更信息和所述隔离配置信息生成当前的可调用IP列表信息,所述可调用IP列表信息包括可调用的多个所述微服务的IP地址;发送单元,用于发送当前的所述可调用IP列表信息至所有的客户端。
根据本发明实施例的再一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的另一方面,还提供了一种微服务系统,包括:隔离平台、注册中心和客户端,其中,所述隔离平台用于执行任意一种所述的方法。
在本发明实施例中,上述服务隔离方法中,实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;发送当前的上述可调用IP列表信息至所有的客户端。该方法通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种实施例的服务隔离方法的流程图;
图2示出了根据本申请的一种具体的实施例的服务隔离装置的示意图;
图3示出了根据本申请的一种具体的实施例的正则隔离配置的示意图;
图4示出了根据本申请的一种实施例的服务隔离装置的示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
服务隔离:在同一集群下,为避免服务之间相互影响,将系统按照一定的原则划分为若干个服务模块,各个模块之间相对独立,无强依赖。当有故障发生时,能将问题和影响隔离在某个模块内部,而不扩散风险,不波及其他模块,不影响整体的系统服务;
隔离ID:系统用来隔离服务实例的唯一标识;
隔离配置:在隔离平台管理端配置的隔离信息,包含隔离ID、隔离微服务名称、隔离IP;
代码侵入:指开发人员为了实现某种非业务性的功能,需要在业务代码里面增加额外非业务逻辑,从而达到功能的实现;
负载均衡算法:调用下游服务时,从服务节点信息中根据某种算法(比如轮询、随机等),选出一个服务节点进行调用。该算法被称为负载均衡算法;
可调用IP列表:隔离平台根据注册中心的微服务信息与管理端配置的隔离配置信息,整合后提供给客户端进行远程调用的IP列表。
正如背景技术中所说的,现有技术中服务隔离方法难以实现动态配置,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种服务隔离方法、装置、计算机可读存储介质、处理器和微服务系统。
根据本申请的实施例,提供了一种服务隔离方法。
图1是根据本申请实施例的服务隔离方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;
步骤S102,根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;
步骤S103,发送当前的上述可调用IP列表信息至所有的客户端。
上述服务隔离方法中,实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;发送当前的上述可调用IP列表信息至所有的客户端。该方法通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,包括:将上述服务变更信息对应的上述微服务的IP地址添加至上一上述订阅周期的上述可调用IP列表信息,得到服务变更后的上述可调用IP列表信息;在服务变更后的上述可调用IP列表信息中,删除上述隔离配置信息对应的上述隔离IP,得到当前的上述可调用IP列表信息。具体地,如图2所示,微服务启动后,向注册中心集群进行注册,注册中心集群生成服务变更信息,将上述服务变更信息对应的新注册的上述微服务的IP地址,添加至上一上述订阅周期的上述可调用IP列表信息,即可得到服务变更后的上述可调用IP列表信息,然后删除可调用IP列表信息中隔离配置信息对应的上述隔离IP,即可得到当前的可调用IP列表信息,以通过可调用IP列表的实时更新来实现服务隔离。
本申请的一种实施例中,上述隔离配置信息还包括隔离ID和隔离微服务名称,一组上述隔离配置信息中,一个上述隔离ID对应多个隔离IP,上述隔离微服务名称与上述隔离IP一一对应,上述在服务变更后的上述可调用IP列表信息中,删除上述隔离配置信息对应的上述隔离IP,得到当前的上述可调用IP列表信息,包括:根据正则匹配的路由规则匹配上述隔离ID,得到无匹配的上述隔离ID;在服务变更后的上述可调用IP列表信息中,删除无匹配的上述隔离ID对应的上述隔离IP,得到当前的上述可调用IP列表信息。具体地,通过正则匹配的路由规则实现服务隔离的方案中,设置多个隔离ID,一个上述隔离ID对应多个隔离IP,根据正则匹配的路由规则匹配隔离ID,匹配成功的隔离ID对应的隔离IP可以访问,匹配失败的隔离ID对应的隔离IP无法访问,通过设置正则匹配的路由规则,即可灵活选择匹配成功的隔离ID,,相比较于普通的隔离方案,正则匹配的路由规则使得隔离配置更加灵活,应用场景更为广泛,例如,线上可以根据用户身份标识,依照路由规则进行分流,实现灰度测试的能力,或者按照隔离id对企业客户等流量进行分组,在不同的场景切换不同的流量等等。
更为具体地,如图3所示,在除了配置隔离ID为tenant-A-001与tenant-B-002外,还额外进行了隔离ID为“^tenant[\s\S]*$”的配置。系统会根据正则的开始标识“^”和结束标识“$”,来判断隔离ID是否为配置的正则匹配路由规则。此时,如果有隔离ID为tenant为前缀的标识进行访问时,因为匹配不上tenant-A-001与tenant-B-002,从而会直接匹配上隔离ID为“^tenant[\s\S]*$”的标识,因此只能访问serviceA的ip为192.168.0.10,访问serviceB的ip为192.168.0.11。
本申请的一种实施例中,实时获取隔离配置信息,包括:获取管理端页面配置的上述隔离配置信息或者接收第三方系统推送的上述隔离配置信息,上述管理端页面为用于配置上述隔离配置信息的页面。具体地,如图2所示,管理员可以通过隔离平台自身的管理端页面为配置上述隔离配置信息,或者第三方系统通过接口变更/推送隔离配置信息到隔离平台的管理端,使得隔离配置的功能集成在隔离平台的管理端,便于管理员进行隔离配置管理。
本申请的一种实施例中,发送当前的上述可调用IP列表信息至所有的客户端,包括:对当前的上述可调用IP列表信息进行MD5摘要处理,得到当前的MD5值;在当前的上述MD5值与上一上述订阅周期的上述MD5值不同的情况下,发送当前的上述可调用IP列表信息至上述客户端。具体地,由于客户端通过隔离平台SDK包,定时从服务隔离平台管理端拉取最新可调用IP列表,数据传输量大,效率低,每个版本的可调用IP列表信息均会做MD5摘要处理,若客户端上次获取的可调用IP列表信息的MD5值与管理端保持一致,则不需要更新可调用IP列表信息,也就无需发送当前的上述可调用IP列表信息至上述客户端,否则,需要发送进行更新。
本申请的一种实施例中,发送当前的上述可调用IP列表信息至所有的客户端,包括:通过udpSocket向所有的客户端推送当前的上述可调用IP列表信息。具体地,udpSocket可以实现一个服务器与多个客户端通信,隔离管理平台通过udpSocket即可将可调用IP列表信息发送至所有的客户端。
本申请实施例还提供了一种服务隔离装置,需要说明的是,本申请实施例的服务隔离装置可以用于执行本申请实施例所提供的用于服务隔离方法。以下对本申请实施例提供的服务隔离装置进行介绍。
图4是根据本申请实施例的服务隔离装置的示意图。如图4所示,该装置包括:
获取单元10,用于实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;
生成单元20,用于根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;
发送单元30,用于发送当前的上述可调用IP列表信息至所有的客户端。
上述服务隔离装置中,获取单元实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;生成单元根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;发送单元发送当前的上述可调用IP列表信息至所有的客户端。该装置通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
本申请的一种实施例中,上述生成单元包括添加模块和删除模块,其中,上述添加模块用于将上述服务变更信息对应的上述微服务的IP地址添加至上一上述订阅周期的上述可调用IP列表信息,得到服务变更后的上述可调用IP列表信息;上述删除模块用于在服务变更后的上述可调用IP列表信息中,删除上述隔离配置信息对应的上述隔离IP,得到当前的上述可调用IP列表信息。具体地,如图2所示,微服务启动后,向注册中心集群进行注册,注册中心集群生成服务变更信息,将上述服务变更信息对应的新注册的上述微服务的IP地址,添加至上一上述订阅周期的上述可调用IP列表信息,即可得到服务变更后的上述可调用IP列表信息,然后删除可调用IP列表信息中隔离配置信息对应的上述隔离IP,即可得到当前的可调用IP列表信息,以通过可调用IP列表的实时更新来实现服务隔离。
本申请的一种实施例中,上述隔离配置信息还包括隔离ID和隔离微服务名称,一组上述隔离配置信息中,一个上述隔离ID对应多个隔离IP,上述隔离微服务名称与上述隔离IP一一对应,上述在服务变更后的上述可调用IP列表信息中,上述删除模块包括匹配子模块和删除子模块,其中,上述匹配子模块用于根据正则匹配的路由规则匹配上述隔离ID,得到无匹配的上述隔离ID;上述删除子模块用于在服务变更后的上述可调用IP列表信息中,删除无匹配的上述隔离ID对应的上述隔离IP,得到当前的上述可调用IP列表信息。具体地,通过正则匹配的路由规则实现服务隔离的方案中,设置多个隔离ID,一个上述隔离ID对应多个隔离IP,根据正则匹配的路由规则匹配隔离ID,匹配成功的隔离ID对应的隔离IP可以访问,匹配失败的隔离ID对应的隔离IP无法访问,通过设置正则匹配的路由规则,即可灵活选择匹配成功的隔离ID,,相比较于普通的隔离方案,正则匹配的路由规则使得隔离配置更加灵活,应用场景更为广泛,例如,线上可以根据用户身份标识,依照路由规则进行分流,实现灰度测试的能力,或者按照隔离id对企业客户等流量进行分组,在不同的场景切换不同的流量等等。
更为具体地,如图3所示,在除了配置隔离ID为tenant-A-001与tenant-B-002外,还额外进行了隔离ID为“^tenant[\s\S]*$”的配置。系统会根据正则的开始标识“^”和结束标识“$”,来判断隔离ID是否为配置的正则匹配路由规则。此时,如果有隔离ID为tenant为前缀的标识进行访问时,因为匹配不上tenant-A-001与tenant-B-002,从而会直接匹配上隔离ID为“^tenant[\s\S]*$”的标识,因此只能访问serviceA的ip为192.168.0.10,访问serviceB的ip为192.168.0.11。
本申请的一种实施例中,上述获取单元还用于获取管理端页面配置的上述隔离配置信息或者接收第三方系统推送的上述隔离配置信息,上述管理端页面为用于配置上述隔离配置信息的页面。具体地,如图2所示,管理员可以通过隔离平台自身的管理端页面为配置上述隔离配置信息,或者第三方系统通过接口变更/推送隔离配置信息到隔离平台的管理端,使得隔离配置的功能集成在隔离平台的管理端,便于管理员进行隔离配置管理。
本申请的一种实施例中,上述发送单元包括处理模块和发送模块,其中,上述处理模块用于对当前的上述可调用IP列表信息进行MD5摘要处理,得到当前的MD5值;上述发送模块用于在当前的上述MD5值与上一上述订阅周期的上述MD5值不同的情况下,发送当前的上述可调用IP列表信息至上述客户端。具体地,由于客户端通过隔离平台SDK包,定时从服务隔离平台管理端拉取最新可调用IP列表,数据传输量大,效率低,每个版本的可调用IP列表信息均会做MD5摘要处理,若客户端上次获取的可调用IP列表信息的MD5值与管理端保持一致,则不需要更新可调用IP列表信息,也就无需发送当前的上述可调用IP列表信息至上述客户端,否则,需要发送进行更新。
本申请的一种实施例中,上述发送单元还用于通过udpSocket向所有的客户端推送当前的上述可调用IP列表信息。具体地,udpSocket可以实现一个服务器与多个客户端通信,隔离管理平台通过udpSocket即可将可调用IP列表信息发送至所有的客户端。
根据本申请的实施例,提供了一种微服务系统,包括:隔离平台、注册中心和客户端,其中,上述隔离平台用于执行任意一种上述的方法。
上述微服务系统中,包括隔离平台、注册中心和客户端,隔离平台实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;隔离平台根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;隔离平台发送当前的上述可调用IP列表信息至所有的客户端。该系统通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
更为具体地,上述微服务系统实现服务隔离的方案包括以下4个流程,即系统流转、隔离配置、变更推送和远程调用,其中,上述系统流转包含以下步骤:S1-1,微服务启动后,向注册中心集群进行注册;S1-2,服务隔离平台管理端启动时,向注册中心加载并订阅所有微服务,保证微服务变更时,注册中心能够推送变更信息;S1-3,服务隔离平台管理端从数据库获取配置的隔离配置信息,并与当前从注册中心获取的微服务在线信息做整合,获得当前提供给客户端的可调用IP列表;S1-4,客户端通过隔离平台SDK包,定时从服务隔离平台管理端拉取最新可调用IP列表。为了保证网络通信效率,每个版本的可调用IP列表信息均会做MD5摘要处理,若客户端上次获取的可调用IP列表信息的MD5值与管理端保持一致,则不需要更新可调用IP列表信息;S1-5,服务隔离平台管理端定时从注册中心集群加载并订阅新注册的服务,确保新注册的服务受隔离平台管控。上述隔离配置包含以下步骤:S2-1隔离平台自身或者第三方系统通过接口变更/推送隔离配置信息到隔离平台管理端;S2-2隔离平台管理端保存隔离配置信息;S2-3隔离配置信息变更后,隔离平台管理端通过udpSocket向所有客户端服务推送最新的隔离配置信息。上述变更推送包含以下步骤:S3-1,注册中心集群通过udpSocket推送微服务变更信息到隔离平台管理端;S3-2,信息变更后,隔离平台管理端通过udpSocket向所有客户端服务推送最新的隔离配置信息。上述远程调用流程中,客户端服务通过从隔离平台拉取的可调用IP列表,选择匹配的服务进行调用。
上述服务隔离装置包括处理器和存储器,上述获取单元、生成单元和发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中服务隔离方法难以实现动态配置的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;
步骤S102,根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;
步骤S103,发送当前的上述可调用IP列表信息至所有的客户端。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;
步骤S102,根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;
步骤S103,发送当前的上述可调用IP列表信息至所有的客户端。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的服务隔离方法中,实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;发送当前的上述可调用IP列表信息至所有的客户端。该方法通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
2)、本申请的服务隔离装置中,获取单元实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;生成单元根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;发送单元发送当前的上述可调用IP列表信息至所有的客户端。该装置通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
3)、本申请的微服务系统中,包括隔离平台、注册中心和客户端,隔离平台实时获取服务变更信息和隔离配置信息,上述服务变更信息为上一订阅周期内注册的微服务的IP地址,上述订阅周期为订阅注册中心的服务变更的时间周期,上述隔离配置信息至少包括隔离IP,上述隔离IP为待隔离的上述微服务的IP地址;隔离平台根据上述服务变更信息和上述隔离配置信息生成当前的可调用IP列表信息,上述可调用IP列表信息包括可调用的多个上述微服务的IP地址;隔离平台发送当前的上述可调用IP列表信息至所有的客户端。该系统通过实时获取服务变更信息和隔离配置信息来更新可调用IP列表信息,可调用IP列表信息同步到所有的客户端,根据可调用IP列表进行微服务的调用,实现服务隔离,隔离配置信息可以直接配置生成,实现动态配置隔离策略,解决了现有技术中服务隔离方法难以实现动态配置的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种服务隔离方法,其特征在于,包括:
实时获取服务变更信息和隔离配置信息,所述服务变更信息为上一订阅周期内注册的微服务的IP地址,所述订阅周期为订阅注册中心的服务变更的时间周期,所述隔离配置信息至少包括隔离IP,所述隔离IP为待隔离的所述微服务的IP地址;
根据所述服务变更信息和所述隔离配置信息生成当前的可调用IP列表信息,所述可调用IP列表信息包括可调用的多个所述微服务的IP地址;
发送当前的所述可调用IP列表信息至所有的客户端,根据所述服务变更信息和所述隔离配置信息生成当前的可调用IP列表信息,包括:将所述服务变更信息对应的所述微服务的IP地址添加至上一所述订阅周期的所述可调用IP列表信息,得到服务变更后的所述可调用IP列表信息;在服务变更后的所述可调用IP列表信息中,删除所述隔离配置信息对应的所述隔离IP,得到当前的所述可调用IP列表信息,所述隔离配置信息还包括隔离ID和隔离微服务名称,一组所述隔离配置信息中,一个所述隔离ID对应多个隔离IP,所述隔离微服务名称与所述隔离IP一一对应,所述在服务变更后的所述可调用IP列表信息中,删除所述隔离配置信息对应的所述隔离IP,得到当前的所述可调用IP列表信息,包括:根据正则匹配的路由规则匹配所述隔离ID,得到无匹配的所述隔离ID;在服务变更后的所述可调用IP列表信息中,删除无匹配的所述隔离ID对应的所述隔离IP,得到当前的所述可调用IP列表信息。
2.根据权利要求1所述的方法,其特征在于,实时获取隔离配置信息,包括:
获取管理端页面配置的所述隔离配置信息或者接收第三方系统推送的所述隔离配置信息,所述管理端页面为用于配置所述隔离配置信息的页面。
3.根据权利要求1或2所述的方法,其特征在于,发送当前的所述可调用IP列表信息至所有的客户端,包括:
对当前的所述可调用IP列表信息进行MD5摘要处理,得到当前的MD5值;
在当前的所述MD5值与上一所述订阅周期的所述MD5值不同的情况下,发送当前的所述可调用IP列表信息至所述客户端。
4.根据权利要求1或2所述的方法,其特征在于,发送当前的所述可调用IP列表信息至所有的客户端,包括:
通过udpSocket向所有的客户端推送当前的所述可调用IP列表信息。
5.一种服务隔离装置,其特征在于,包括:
获取单元,用于实时获取服务变更信息和隔离配置信息,所述服务变更信息为上一订阅周期内注册的微服务的IP地址,所述订阅周期为订阅注册中心的服务变更的时间周期,所述隔离配置信息至少包括隔离IP,所述隔离IP为待隔离的所述微服务的IP地址;
生成单元,用于根据所述服务变更信息和所述隔离配置信息生成当前的可调用IP列表信息,所述可调用IP列表信息包括可调用的多个所述微服务的IP地址;
发送单元,用于发送当前的所述可调用IP列表信息至所有的客户端,所述生成单元包括添加模块和删除模块,其中,所述添加模块用于将所述服务变更信息对应的所述微服务的IP地址添加至上一所述订阅周期的所述可调用IP列表信息,得到服务变更后的所述可调用IP列表信息;所述删除模块用于在服务变更后的所述可调用IP列表信息中,删除所述隔离配置信息对应的所述隔离IP,得到当前的所述可调用IP列表信息,所述隔离配置信息还包括隔离ID和隔离微服务名称,一组所述隔离配置信息中,一个所述隔离ID对应多个隔离IP,所述隔离微服务名称与所述隔离IP一一对应,所述在服务变更后的所述可调用IP列表信息中,所述删除模块包括匹配子模块和删除子模块,其中,所述匹配子模块用于根据正则匹配的路由规则匹配所述隔离ID,得到无匹配的所述隔离ID;所述删除子模块用于在服务变更后的所述可调用IP列表信息中,删除无匹配的所述隔离ID对应的所述隔离IP,得到当前的所述可调用IP列表信息。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至4中任意一项所述的方法。
7.一种微服务系统,其特征在于,包括:隔离平台、注册中心和客户端,其中,所述隔离平台用于执行权利要求1至4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210769965.1A CN114944986B (zh) | 2022-07-01 | 2022-07-01 | 服务隔离方法、装置和微服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210769965.1A CN114944986B (zh) | 2022-07-01 | 2022-07-01 | 服务隔离方法、装置和微服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114944986A CN114944986A (zh) | 2022-08-26 |
CN114944986B true CN114944986B (zh) | 2024-05-28 |
Family
ID=82911567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210769965.1A Active CN114944986B (zh) | 2022-07-01 | 2022-07-01 | 服务隔离方法、装置和微服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114944986B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282368A (zh) * | 2018-01-24 | 2018-07-13 | 云宏信息科技股份有限公司 | 一种微服务管理系统、方法及计算机存储介质 |
CN112000448A (zh) * | 2020-07-17 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于微服务架构的应用管理方法 |
CN112019369A (zh) * | 2019-05-31 | 2020-12-01 | 烽火通信科技股份有限公司 | 一种微服务框架下动态配置管理方法及系统 |
CN112667351A (zh) * | 2020-12-28 | 2021-04-16 | 通号智慧城市研究设计院有限公司 | 一种基于容器化微服务的智能分析服务系统、方法及介质 |
CN113496004A (zh) * | 2020-04-02 | 2021-10-12 | 华为技术有限公司 | 一种消息发送方法及装置 |
CN113596110A (zh) * | 2021-07-08 | 2021-11-02 | 交通银行股份有限公司太平洋信用卡中心 | 一种面向异构云的云原生微服务平台 |
CN114500481A (zh) * | 2021-12-29 | 2022-05-13 | 苏州众言网络科技股份有限公司 | 业务请求处理方法、系统和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635331B (zh) * | 2014-11-18 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种分布式环境下的服务寻址方法及装置 |
-
2022
- 2022-07-01 CN CN202210769965.1A patent/CN114944986B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282368A (zh) * | 2018-01-24 | 2018-07-13 | 云宏信息科技股份有限公司 | 一种微服务管理系统、方法及计算机存储介质 |
CN112019369A (zh) * | 2019-05-31 | 2020-12-01 | 烽火通信科技股份有限公司 | 一种微服务框架下动态配置管理方法及系统 |
CN113496004A (zh) * | 2020-04-02 | 2021-10-12 | 华为技术有限公司 | 一种消息发送方法及装置 |
CN112000448A (zh) * | 2020-07-17 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于微服务架构的应用管理方法 |
CN112667351A (zh) * | 2020-12-28 | 2021-04-16 | 通号智慧城市研究设计院有限公司 | 一种基于容器化微服务的智能分析服务系统、方法及介质 |
CN113596110A (zh) * | 2021-07-08 | 2021-11-02 | 交通银行股份有限公司太平洋信用卡中心 | 一种面向异构云的云原生微服务平台 |
CN114500481A (zh) * | 2021-12-29 | 2022-05-13 | 苏州众言网络科技股份有限公司 | 业务请求处理方法、系统和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114944986A (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220094761A1 (en) | Server Invocation Method and Proxy Server | |
US7426737B2 (en) | Method and apparatus for operating an open API network having a proxy | |
CN113746887A (zh) | 一种跨集群数据请求处理方法、设备及存储介质 | |
CN112804722A (zh) | 一种微服务网关动态路由的实现方法 | |
KR101352647B1 (ko) | 플러그가능 콘택트 결정 | |
CN111611091A (zh) | 一种业务对象的服务调用方法、装置及介质 | |
EP3703337A1 (en) | Mobile edge host-machine service notification method and apparatus | |
CN113645304B (zh) | 数据服务处理方法及相关设备 | |
CN112202744B (zh) | 一种多系统数据通信方法和装置 | |
CN111782259B (zh) | 一种基于反向代理的微服务治理方法 | |
CN112732456A (zh) | 微服务调用方法、装置、电子设备和存储介质 | |
CN114944986B (zh) | 服务隔离方法、装置和微服务系统 | |
CN113238756A (zh) | 直播业务处理方法、装置、电子设备及存储介质 | |
US20240015135A1 (en) | Domain management and synchronization system | |
CN118175209A (zh) | 一种路由方法、微服务系统、设备及存储介质 | |
CN105871972A (zh) | 一种视频资源的分布式缓存方法、装置及系统 | |
CN115390939A (zh) | 业务处理方法和系统 | |
CN114461424A (zh) | 单元化部署架构下的单元间服务发现方法、装置及系统 | |
CN112995333B (zh) | 一种远程文件激活方法、系统及相关装置 | |
US20240179510A1 (en) | Dynamically generating application function-specific user endpoint identifiers | |
WO2024124641A1 (zh) | 一种集群负载均衡的方法和装置、电子设备和存储介质 | |
CN112887129B (zh) | 一种云安全产品的规格配置方法、系统及相关装置 | |
CN115567504B (zh) | 单体应用的数据拆分方法、装置、电子设备及存储介质 | |
CN117311924A (zh) | 一种微服务迁移方法、装置及计算设备 | |
CN112069181A (zh) | 一种用户数据资产转移方法及运营商网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |