CN114285889A - 应用服务的配置信息的处理方法、装置和设备 - Google Patents
应用服务的配置信息的处理方法、装置和设备 Download PDFInfo
- Publication number
- CN114285889A CN114285889A CN202111576515.2A CN202111576515A CN114285889A CN 114285889 A CN114285889 A CN 114285889A CN 202111576515 A CN202111576515 A CN 202111576515A CN 114285889 A CN114285889 A CN 114285889A
- Authority
- CN
- China
- Prior art keywords
- application service
- application
- access
- service
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012545 processing Methods 0.000 title claims abstract description 34
- 238000004891 communication Methods 0.000 claims abstract description 109
- 238000012544 monitoring process Methods 0.000 claims description 20
- 238000003672 processing method Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 239000003795 chemical substances by application Substances 0.000 description 91
- 238000010586 diagram Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种应用服务的配置信息的处理方法、装置和设备,其中,该方法包括:接收服务鉴权系统发送的访问关系信息,访问关系信息表征每一对应用服务之间的访问关系;根据访问关系信息和预存的用户自定义资源规则,确定与每一应用服务对应的配置信息,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则;将与每一应用服务对应的配置信息发送给与每一应用服务对应的计算设备。只需要将与每一应用服务对应的配置信息发送给每一应用服务,降低网络带宽资源的占用;剔除掉每一应用服务不需要的调用信息,使得与每一应用服务对应的计算设备的通讯代理中不存储不相关的调用信息、访问关系,节约每一计算设备的内存。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种应用服务的配置信息的处理方法、装置和设备。
背景技术
在服务网格架构中,每一计算设备中部署有通讯代理和应用服务,计算设备中的应用服务通过通讯代理与其他计算机中的应用服务之间进行信息交互,即,计算设备中的应用服务通过通讯代理访问其他计算机中的应用服务。
现有技术中,需要控制平面设备向每一计算设备下发用户自定义资源(CustomResource Definition,简称CRD)规则,用户自定义资源规则中包括了各应用服务的访问规则。然后,计算设备的应用服务根据用户自定义资源规则中与当前计算设备对应的访问规则,访问其他计算设备的应用服务。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:由于用户自定义资源规则中包括了各应用服务的访问规则,从而用户自定义资源规则中包括了当前计算设备永远不会去访问的其他计算设备的应用服务的信息,会占用当前计算设备的内存;并且,当需要更新用户自定义资源规则的时候,控制平面设备需要将更新后的用户自定义资源规则发送给所有的计算设备,会占用较多的网络带宽资源。
发明内容
本申请实施例提供一种应用服务的配置信息的处理方法、装置和设备,用以解决会占用当前计算设备的内存,会占用较多的网络带宽资源的问题。
第一方面,本申请实施例提供一种应用服务的配置信息的处理方法,所述方法应用于控制平面设备,所述方法包括:
接收服务鉴权系统发送的访问关系信息,其中,所述访问关系信息表征每一对应用服务之间的访问关系;
根据所述访问关系信息和预存的用户自定义资源规则,所述用户自定义资源规则表征各应用服务之间的调用关系,确定与每一所述应用服务对应的配置信息,其中,与每一所述应用服务对应的配置信息包括每一所述应用服务对其他应用服务的访问规则;
将与每一所述应用服务对应的配置信息,发送给与每一所述应用服务对应的计算设备;其中,与每一所述应用服务对应的配置信息用于与每一所述应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
进一步地,根据所述访问关系信息和预存的用户自定义资源规则,确定与每一所述应用服务对应的配置信息,包括:针对每一所述应用服务,调取所述访问关系信息中的与每一所述应用服务对应的访问关系,并调取所述用户自定义资源规则中的与每一所述应用服务对应的调用关系;针对每一所述应用服务,依据与每一所述应用服务对应的访问关系,修正与每一所述应用服务对应的调用关系,得到与每一所述应用服务对应的配置信息。
进一步地,针对每一所述应用服务,依据与每一所述应用服务对应的访问关系,修正与每一所述应用服务对应的调用关系,得到与每一所述应用服务对应的配置信息,包括:
针对每一所述应用服务,若与每一所述应用服务对应的访问关系表征应用服务可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,加入到与每一所述应用服务对应的调用关系中;针对每一所述应用服务,若与每一所述应用服务对应的访问关系表征应用服务不可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,从与每一所述应用服务对应的调用关系中删除。
进一步地,所述方法还包括:接收其他设备发送的所述用户自定义资源规则;或者,响应于用户的触发操作,生成所述用户自定义资源规则;或者,获取业务信息,所述业务信息表征业务的处理流程,根据所述业务信息生成所述用户自定义资源规则。
进一步地,所述访问关系信息中包括黑名单信息和白名单信息,所述黑名单信息用于指示每一应用服务不可访问的应用服务,所述白名单信息用于指示每一应用服务可以访问的应用服务;所述访问关系信息是所述服务鉴权系统依据所获取到的每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息所生成的,其中,所述历史访问记录为应用服务访问其他应用服务的访问记录,所述请求信息表征应用服务需要访问其他应用服务。与每一所述应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
第二方面,本申请实施例提供一种应用服务的配置信息的处理方法,所述方法应用于服务鉴权系统,所述方法包括:
生成访问关系信息,并将所述访问关系信息发送给控制平面设备;
其中,所述访问关系信息表征每一对应用服务之间的访问关系;所述控制平面设备存储有用户自定义资源规则,所述用户自定义资源规则表征各应用服务之间的调用关系;所述访问关系信息和所述用户自定义资源规则,用于确定与每一所述应用服务对应的配置信息,与每一所述应用服务对应的配置信息包括每一所述应用服务对其他应用服务的访问规则。与每一所述应用服务对应的配置信息,用于发送给与每一所述应用服务对应的计算设备;并且,与每一所述应用服务对应的配置信息用于与每一所述应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
进一步地,所述访问关系信息中包括黑名单信息和白名单信息,所述黑名单信息用于指示每一应用服务不可访问的应用服务,所述白名单信息用于指示每一应用服务可以访问的应用服务。
生成访问关系信息,包括:获取每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息,其中,所述历史访问记录为应用服务访问其他应用服务的访问记录,所述请求信息表征应用服务需要访问其他应用服务;根据每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息,生成所述访问关系信息。或者,响应于用户的触发操作,生成所述访问关系信息。
进一步地,所述方法还包括:调取所述访问关系信息中的与每一所述应用服务对应的访问关系;将与每一所述应用服务对应的访问关系,发送给与每一所述应用服务对应的计算设备;其中,与每一所述应用服务对应的访问关系用于计算设备中的应用服务依据该访问关系对计算设备进行监控。
进一步地,与每一所述应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
第三方面,本申请实施例提供一种应用服务的配置信息的处理装置,所述装置应用于控制平面设备,所述装置包括:
接收单元,用于接收服务鉴权系统发送的访问关系信息,其中,所述访问关系信息表征每一对应用服务之间的访问关系;
确定单元,用于根据所述访问关系信息和预存的用户自定义资源规则,所述用户自定义资源规则表征各应用服务之间的调用关系,确定与每一所述应用服务对应的配置信息,其中,与每一所述应用服务对应的配置信息包括每一所述应用服务对其他应用服务的访问规则;
发送单元,用于将与每一所述应用服务对应的配置信息,发送给与每一所述应用服务对应的计算设备;其中,与每一所述应用服务对应的配置信息用于与每一所述应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
进一步地,所述确定单元,包括:
调取模块,用于针对每一所述应用服务,调取所述访问关系信息中的与每一所述应用服务对应的访问关系,并调取所述用户自定义资源规则中的与每一所述应用服务对应的调用关系;
修正模块,用于针对每一所述应用服务,依据与每一所述应用服务对应的访问关系,修正与每一所述应用服务对应的调用关系,得到与每一所述应用服务对应的配置信息。
进一步地,所述修正模块,具体用于:
针对每一所述应用服务,若与每一所述应用服务对应的访问关系表征应用服务可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,加入到与每一所述应用服务对应的调用关系中;
针对每一所述应用服务,若与每一所述应用服务对应的访问关系表征应用服务不可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,从与每一所述应用服务对应的调用关系中删除。
进一步地,所述装置还包括:获取单元,用于获取所述用户自定义资源规则。
所述获取单元,具体用于:接收其他设备发送的所述用户自定义资源规则;或者,响应于用户的触发操作,生成所述用户自定义资源规则;或者,获取业务信息,所述业务信息表征业务的处理流程,根据所述业务信息生成所述用户自定义资源规则。
进一步地,所述访问关系信息中包括黑名单信息和白名单信息,所述黑名单信息用于指示每一应用服务不可访问的应用服务,所述白名单信息用于指示每一应用服务可以访问的应用服务;所述访问关系信息是所述服务鉴权系统依据所获取到的每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息所生成的,其中,所述历史访问记录为应用服务访问其他应用服务的访问记录,所述请求信息表征应用服务需要访问其他应用服务;
与每一所述应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
第四方面,本申请实施例提供一种应用服务的配置信息的处理装置,所述装置应用于服务鉴权系统,所述装置包括:
生成单元,用于生成访问关系信息;
第一发送单元,用于将所述访问关系信息发送给控制平面设备;
其中,所述访问关系信息表征每一对应用服务之间的访问关系;所述控制平面设备存储有用户自定义资源规则,所述用户自定义资源规则表征各应用服务之间的调用关系;所述访问关系信息和所述用户自定义资源规则,用于确定与每一所述应用服务对应的配置信息,与每一所述应用服务对应的配置信息包括每一所述应用服务对其他应用服务的访问规则;
与每一所述应用服务对应的配置信息,用于发送给与每一所述应用服务对应的计算设备;并且,与每一所述应用服务对应的配置信息用于与每一所述应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
进一步地,所述访问关系信息中包括黑名单信息和白名单信息,所述黑名单信息用于指示每一应用服务不可访问的应用服务,所述白名单信息用于指示每一应用服务可以访问的应用服务;
所述生成单元,具体用于:
获取每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息,其中,所述历史访问记录为应用服务访问其他应用服务的访问记录,所述请求信息表征应用服务需要访问其他应用服务;根据每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息,生成所述访问关系信息;
或者,响应于用户的触发操作,生成所述访问关系信息。
进一步地,所述装置还包括:
调取单元,用于调取所述访问关系信息中的与每一所述应用服务对应的访问关系;
第二发送单元,用于将与每一所述应用服务对应的访问关系,发送给与每一所述应用服务对应的计算设备;其中,与每一所述应用服务对应的访问关系用于计算设备中的应用服务依据该访问关系对计算设备进行监控。
进一步地,与每一所述应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
第五方面,本申请实施例提供一种电子设备,所述电子设备包括:存储器,处理器;存储器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行第一方面或第二方面所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面或第二方面所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面或第二方面所述的方法。
本申请实施例提供的应用服务的配置信息的处理方法、装置和设备,控制平面设备接收服务鉴权系统发送的访问关系信息,控制平面设备依据访问关系信息中的每一对应用服务之间的访问关系,对用户自定义资源规则进行修正,进而得到与每一应用服务对应的配置信息,其中,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则;控制平面设备将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备。从而,针对每一应用服务,控制平面设备生成与每一应用服务对应的配置信息,控制平面设备只需要将与每一应用服务对应的配置信息发送给每一应用服务,降低了网络带宽资源的占用;控制平面设备剔除掉了每一应用服务所不需要的调用信息,进而使得与每一应用服务对应的计算设备的通讯代理中不需要存储不相关的调用信息、访问关系,节约了每一计算设备存储空间和内存。并且本申请实施例中,控制平面设备只需要将与每一应用服务对应的配置信息发送给每一应用服务,并且也只需要将与每一应用服务对应的更新后的配置信息发送给每一应用服务,降低了网络带宽资源的占用,降低了群整体内存开销和网络开销,不会引发集群性能波动,有利于集群的稳定运行。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的场景示意图;
图2为本申请实施例提供的一种应用服务的用户自定义资源规则的处理方法的示意图;
图3为本申请实施例提供的另一种应用服务的用户自定义资源规则的处理方法的示意图;
图4为本申请实施例提供的一种应用服务的配置信息的处理方法的流程图;
图5为本申请实施例提供的应用服务的配置信息的处理方法的示意图;
图6为本申请实施例提供的另一种应用服务的配置信息的处理方法的流程图;
图7为本申请实施例提供的内存和网络开销占比的示意图一;
图8为本申请实施例提供的内存和网络开销占比的示意图二;
图9为本申请实施例提供的内存和网络开销占比的示意图三;
图10为本申请实施例提供的又一种应用服务的配置信息的处理方法的流程图;
图11为本申请实施例提供的一种应用服务的配置信息的处理装置的结构示意图;
图12为本申请实施例提供的另一种应用服务的配置信息的处理装置的结构示意图;
图13为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应用服务集群中包括多个计算设备,每一计算设备中部署有应用服务,不同的计算设备所部署的应用服务的种类不同。在云原生时代,应用服务集群采用服务网格架构模式,可以解决许多服务治理问题。在服务网格架构中,每一计算设备中部署有通讯代理和应用服务,计算设备中的应用服务通过通讯代理与其他计算机中的应用服务之间进行信息交互,即,计算设备中的应用服务通过通讯代理访问其他计算机中的应用服务。
其中,云原生,指的是,应用服务器的部署和运行在云端的软件架构,包含了一套云技术产品体系,可以充分利用云端资源优势;云原生具备动态扩展、分布式、持续交付等特点。
图1为本申请实施例提供的场景示意图,如图1所示,应用服务集群中包括多个计算设备,每一计算设备中部署有应用服务和通讯代理,每一计算设备为一个Pod;一个Pod可以封装一个或多个容器,多个容器拥有共同的运行环境。部署在计算设备中的通讯代理拦截了应用服务的出入流量数据。在每一计算设备中,通讯代理与应用服务共享同一网格栈,即,共享同一个网络地址空间;从而,通讯代理就可以拦截应用服务发出的流量和进入的流量,进而服务网格内的各应用服务之间的访问,就变成了各通信代理之间的访问。
在服务网格架构中,控制平面设备为每一计算设备的通讯代理发送用户自定义资源规则,用户自定义资源规则用于指示应用服务之间的访问关系,进而通讯代理根据用户自定义资源规则完成服务治理功能。通讯代理在拦截应用服务流量之后,根据用户自定义资源规则进行服务治理动作。通讯代理为了装载这些用户自定义资源规则会为其预留足够的内存空间,为了保持配置的准确性就要维持与控制平面的实时网络通信,即需要接收控制平面设备发送等更新后的用户自定义资源规则。
其中,服务治理,指的是,为了信息系统顺利运转而实施的一系列过程,进而可以对架构原则、最佳实践、运行梳理、管理规程等起到辅助作用。服务治理包括但不限于以下关键活动:对新服务发布或升级制定计划、管理服务运行的生命周期、制定服务遵从的行为规则或策略、监控服务运行、管理服务间拓扑关系和访问形式、等等。
服务网格,指的是一种基于云原生的服务治理架构,它是处理应用服务之间进行通信的专用基础设施层;通过与应用服务松耦合,去部署轻量的通讯代理,保证应用服务之间实现可靠的通信。服务网格,可以实现对复杂服务关系拓扑的梳理和可靠请求传递,它适用于流量管理、安全传输和运行数据采集等场景。
一个示例中,在默认情况下,控制平面对所有通讯代理分发的用户自定义资源规则是无差别的,即每个通讯代理中都会装载整个集群中各个服务的各类相关用户自定义资源规则。随着对服务网格架构使用场景逐渐复杂化和应用部署实例的增多,通讯代理中装载的用户自定义资源规则种类、大小也会增加,导致整个集群的内存占用高和网络通信拥堵会进一步加剧,从而影响集群整体运行。
图2为本申请实施例提供的一种应用服务的用户自定义资源规则的处理方法的示意图,如图2所示,该方法是一种基于应用服务级别细粒度分发的方法。需要控制平面设备向每一计算设备下发用户自定义资源规则,用户自定义资源规则中包括了各应用服务的访问规则。然后,计算设备的应用服务根据用户自定义资源规则中与当前计算设备对应的访问规则,访问其他计算设备的应用服务。业务系统A(即,命名空间A)包括计算设备1和计算设备3;业务系统B(即,命名空间B)包括计算设备2和计算设备4。其中,用户自定义资源规则定义了对于业务系统A(即,命名空间A)的应用实例只接收自己业务系统的配置,那么在应用服务1的通讯代理中就会存在应用服务1和同属一个系统的应用服务3的配置信息,这样应用服务1的出入口流量治理规则都可以从自己的通讯代理中找到,而用户自定义资源规则也简单粗犷,即只需按业务系统隔离配置即可。使用不同数据来源、不同划分尺度构建的用户自定义资源规则都对通讯代理中配置信息产生不同影响,是否对整个服务网格集群内存和网络开销能够有效降低因方法而异。
在图2所示的方法中,控制平面设备向每一计算设备下发的用户自定义资源规则是相同的。如图2所示,集群包括计算设备1、计算设备2、计算设备3和计算设备4,每一个计算设备是一个Pod;计算设备1中部署了通讯代理1和应用服务1,计算设备2中部署了通讯代理2和应用服务2,计算设备3中部署了通讯代理3和应用服务3,计算设备4中部署了通讯代理4和应用服务4。用户自定义资源规则中包括应用服务1可以访问应用服务2、应用服务1可以访问应用服务4、应用服务3可以访问应用服务1、应用服务1可以访问应用服务3;控制平面设备将该用户自定义资源规则发送给每一个计算设备。
但是在上述方式中,用户自定义资源规则中包括了各应用服务的访问规则,用户自定义资源规则被无差别的发送给了每一计算设备;从而用户自定义资源规则中包括了当前计算设备永远不会去访问的其他计算设备的应用服务的信息,会占用当前计算设备的内存,会长期耗用通讯代理的高内存比。例如,如图2所示,用户自定义资源规则中包括的“应用服务1可以访问应用服务2”、“应用服务1可以访问应用服务4”、“应用服务1可以访问应用服务3”为应用服务1的调用关系,“应用服务3可以访问应用服务1”为应用服务3的调用关系,从而,应用服务1的计算设备的通讯代理中会存在应用服务3的相关调用信息,应用服务3的计算设备的通讯代理中会存在应用服务1的相关调用信息,应用服务1的通讯代理、应用服务3的通讯店代理会保存一些永远不会用到的调用信息,从而造成计算设备的内存,造成了信息的冗余。并且,如图2所示,当整个服务网格集群中每当有新应用服务上线的时候,控制平面设备需要将更新后的用户自定义资源规则发送给所有的计算设备,进而应用服务1都会收到新应用服务的调用信息,而应用服务1并不会用到新应用服务的调用信息,新的更新后的用户自定义资源规则的更新过程,会占用较多的网络带宽资源,并且造成集群整体内存开销和网络开销较高,并且会引发集群性能波动,不利于集群的稳定运行。
一个示例中,图3为本申请实施例提供的另一种应用服务的用户自定义资源规则的处理方法的示意图,如图3所示,该方法是一种“依据运行数据逐步优化的方法”。由于图2所示的方案中,控制平面对所有通讯代理分发的用户自定义资源规则是无差别的,从而可以在每一计算设备的通讯代理运行了一段时间之后,如图3所示,基于一个监控系统获取服务网格内各应用服务的运行监控数据,基于运行监控数据获取应用服务在运行过程中实际调用关系,即,应用服务之间的访问拓扑;然后,监控系统通过分析访问拓扑,得出每个应用服务实际需要的配置内容,该配置内容表征每一应用服务实际的调用关系;监控系统将每个应用服务实际需要的配置内容反馈给控制平面设备,使得控制平面设备基于接收到的配置内容对用户自定义资源规则进行优化,进而监控系统实现对通讯代理中存储的用户自定义资源规则进行裁剪。
例如,如图3所示,应用服务1在一段时间内只会访问应用服务2和应用服务4,那就对只保留“应用服务1会访问应用服务2”和“应用服务1会访问应用服务4”。当有新的应用服务5上线后,应用服务1仍会无差别的接收应用服务5的调用信息,通过下一个监控周期的数据采集并分析后,发现应用服务1对应用服务5并没有访问需求,那么更新CRD规则,对应用服务1的调用信息进行继续裁剪,即不再接收应用服务5的调用信息。避免了某些应用服务长期装载一些自己永远不会用到的调用信息,通过定时优化规则模型,减缓了通讯代理中因集群发布新的应用服务带来的调用信息增加的问题。
但是上述方式中,需要应用服务互相访问了一段时间之后,得到监控数据作为样本去计算每一应用服务实际的调用关系;在得到监控数据之前,控制平面设备仍然会全量无差别的分发用户自定义资源规则,依然会导致网络带宽瞬时增加;并且,每一计算设备的通讯代理会对用户自定义资源规则保存一段时间,导致服务网格集群的整体内存和网络占用情况会定期波动,容易达到集群性能的告警阈值。并且,对于一些存在频繁上线新的应用服务的集群来说,通讯代理可能会始终存在历史的用户自定义资源规则中的部分调用关系,最坏情况下,通讯代理中可能保留了全量的用户自定义资源规则。并且,上述方式中,监控数据的采集时间间隔因场景而异,而同一个应用服务也可能存在因访问不同应用服务而导致频度、流量差异的情况,上述方式中监控数据的采集时间间隔是一个经验值,经验值不具有在大规模集群推广使用的指导意义。
本申请实施例提供的应用服务的配置信息的处理方法、装置和设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图4为本申请实施例提供的一种应用服务的配置信息的处理方法的流程图,如图4所示,该方法包括:
101、接收服务鉴权系统发送的访问关系信息,其中,访问关系信息表征每一对应用服务之间的访问关系。
示例性地,本实施例的执行主体为控制平面设备。图5为本申请实施例提供的应用服务的配置信息的处理方法的示意图,如图5所示,每一计算设备中部署有通讯代理(即,通讯代理模块)和应用服务;应用服务中包括软件开发工具包(Software Development Kit,简称SDK)。SDK中包括辅助开发的相关文档、范例和工具集合。其中,应用服务为有着业务逻辑和功能的应用。通讯代理,指的是,在服务网格部署架构中,随应用共同部署的组件;组件以非侵入的形式支撑了上层应用的非业务功能;通讯代理和应用服务共享同一个网络栈,从而,通讯代理可以通过拦截应用服务的出口流量、入口流量进行服务治理相关功能,其中,治理规则以配置方式进行存储。如图5所示,本申请实施例增加了一个服务鉴权系统,服务鉴权系统可以获取每一对应用服务之间的访问关系,例如,服务鉴权系统可以获取到每一应用服务的历史访问记录,进而服务鉴权系统依据历史访问记录生成每一对应用服务之间的访问关系,进而生成访问关系信息。如图5所示,计算设备1中部署了应用服务1和通讯代理1,计算设备2中部署了应用服务2和通讯代理2,计算设备3中部署了应用服务3和通讯代理3;每一应用服务中具有SDK。SDK在应用服务内部集成的通用软件工具包,SDK用于将通用功能封装,并提供给应用服务开发,进而减少重复工作。
其中,每一个计算设备为一个Pod;Pod是最小管理单位,是一个或多个容器的组合,这些容器在Pod中共享存储和网络。应用服务,为可以实现业务功能的运行时的服务;在云原生架构中,应用服务处于Pod的一个容器中进行运行;应用服务可以作为消费方向其他服务发起请求、接收应答,也可以作为服务方监听并接收请求、返回响应。
计算设备也可以是终端。终端中包括目标应用服务的网际互连协议(InternetProtocol,简称IP)地址和端口,终端用于接受请求的转发。
例如,访问关系信息包括应用服务1访问了应用服务2、应用服务2访问了应用服务3、应用服务3访问了应用服务1。
再例如,访问关系信息包括应用服务1在时间段a内访问了应用服务2、应用服务2在时间段b内访问了应用服务3、应用服务3在时间段a内访问了应用服务1。时间段b长于时间段a。
其中,在一个应用服务访问另一个应用服务的时候,发起访问的应用服务为消费方,被访问的应用服务为服务方。即,在一个应用服务调用另一个应用服务的时候,发起调用的应用服务为消费方,被调用的应用服务为服务方。可知,消费方为服务调用过程中调用其他服务的一方;服务方为服务调用过程中被调用提供服务的一方。
服务鉴权系统将访问关系信息发送给控制平面设备。
102、根据访问关系信息和预存的用户自定义资源规则,用户自定义资源规则表征各应用服务之间的调用关系,确定与每一应用服务对应的配置信息,其中,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则。
示例性地,控制平面设备中已经预先存储有用户自定义资源规则(即,CRD规则);用户自定义资源规则是云原生操作系统下可自定义扩展的资源,格式与原生资源规范一致。
用户自定义资源规则中包括各应用服务之间的调用关系。例如,用户自定义资源规则中包括:应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务3可调用应用服务1。
控制平面设备根据访问关系信息对用户自定义资源规则进行修正,在修正的过程中,控制平面设备依据访问关系信息中与每一个计算设备的应用服务对应的访问关系,针对于每一个计算设备的应用服务对应的调用关系进行修正,进而得到与每一应用服务对应的配置信息;其中,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则。
举例来说,访问关系信息包括:应用服务1访问了应用服务2、应用服务1访问了应用服务3、应用服务2访问了应用服务1、应用服务2访问了应用服务4、应用服务3访问了应用服务2。用户自定义资源规则中包括:应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务1可调用应用服务4、应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务3可调用应用服务1、应用服务3可调用应用服务2。
进而控制平面设备根据访问关系信息中的“应用服务1访问了应用服务2、应用服务1访问了应用服务3”,修正用户自定义资源规则中的“应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务1可调用应用服务4”,进而去除用户自定义资源规则中的“应用服务1可调用应用服务4”,得到与应用服务1对应的配置信息“应用服务1可调用应用服务2、应用服务1可调用应用服务3”。
控制平面设备根据访问关系信息中的“应用服务2访问了应用服务1、应用服务2访问了应用服务4”,修正用户自定义资源规则中的“应用服务2可调用应用服务1、应用服务2可调用应用服务3”,进而增加一个“应用服务2访问了应用服务4”,得到与应用服务2对应的配置信息“应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务2可调用应用服务4”。
控制平面设备根据访问关系信息中的“应用服务3访问了应用服务2”,修正用户自定义资源规则中的“应用服务3可调用应用服务1、应用服务3可调用应用服务2”,去除用户自定义资源规则中的“应用服务3可调用应用服务1”,得到与应用服务3对应的配置信息“应用服务3可调用应用服务2”。
再举例来说,访问关系信息包括:应用服务1在时间段a内访问了应用服务2、应用服务1在时间段b内访问了应用服务3、应用服务2在时间段a内访问了应用服务1、应用服务2在时间段b内访问了应用服务4、应用服务3在时间段b内访问了应用服务2。时间段b长于时间段a。用户自定义资源规则中包括:、应用服务1可调用应用服务3、应用服务1可调用应用服务4、应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务3可调用应用服务1。
进而控制平面设备根据访问关系信息中的“应用服务1在时间段a内访问了应用服务2、应用服务1在时间段b内访问了应用服务3”,修正用户自定义资源规则中的“应用服务1可调用应用服务3、应用服务1可调用应用服务4”,由于时间段b长于时间段a,可以不考虑访问关系信息中的“应用服务1在时间段b内访问了应用服务3”,进而只需要增加“应用服务1可调用应用服务2”,得到与应用服务1对应的配置信息“应用服务1可调用应用服务2应用服务1可调用应用服务3、应用服务1可调用应用服务4”。
控制平面设备根据访问关系信息中的“应用服务2在时间段a内访问了应用服务1、应用服务2在时间段b内访问了应用服务4”,修正用户自定义资源规则中的“应用服务2可调用应用服务1、应用服务2可调用应用服务3”,由于时间段b长于时间段a,可以不考虑访问关系信息中的“应用服务2在时间段b内访问了应用服务4”得到与应用服务1对应的配置信息“应用服务2可调用应用服务1、应用服务2可调用应用服务3”。
控制平面设备根据访问关系信息中的“应用服务3在时间段b内访问了应用服务2”,修正用户自定义资源规则中的“应用服务3可调用应用服务1”,可进而只需要增加“应用服务3可调用应用服务2”,得到与应用服务1对应的配置信息“应用服务3可调用应用服务1、应用服务3可调用应用服务2”。
103、将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备;其中,与每一应用服务对应的配置信息用于与每一应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
一个示例中,与每一应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
示例性地,配置信息还可以包括:应用服务的网络参数、应用服务的路由参数。例如,域名。配置信息还可以包括业务应用流量的各种治理规则,例如,流量分配、路由定向、模拟服务端故障、模拟服务端超时应答、服务方终端地址、等等。
控制平面设备将与每一应用服务对应的配置信息,分别发送给与每一应用服务对应的计算设备。进而与每一应用服务对应的计算设备中的通讯代理模块(即,通讯代理)接收到与每一应用服务对应的配置信息,与每一应用服务对应的计算设备中的通讯代理模块将配置信息进行本地持久化保存;然后与每一应用服务对应的通讯代理模块,依据与每一应用服务对应的配置信息,对应用服务进行服务控制,例如,进行应用服务的访问、流量的控制、等等。其中,应用服务出口、入口访问由SDK统一控制,从应用服务容器出入的流量由通讯代理拦截。应用服务间之间的互相访问,在物理部署上其实是Pod间的互相访问,在通讯代理拦截流量之后,由通讯代理完成了实质的互联访问;通讯代理的访问规则,比如如何找到服务方Pod地址、用何种方式认证、何种方式加密传输、遵循怎样的路由规则等,都是通过通讯代理中与每一应用服务对应的配置信息所获取到的。
在本实施中,通讯代理是随应用服务同时部署的代理容器,通讯代理通过拦截应用服务的出口、入口流量并进行分析处理,进而实现已配置的服务治理功能,例如,进行流量比例分配、故障注入、断路器、运行收集、安全认证、加密传输等。通讯代理与控制平面设备(即,服务网格控制平面设备)保持实时通信,获取配置数据,并在通讯代理本地持久化保存,每次处理请求时都从配置中找到对应规则,帮助应用服务实现治理能力。
本实施例中,控制平面设备接收服务鉴权系统发送的访问关系信息,控制平面设备依据访问关系信息中的每一对应用服务之间的访问关系,对用户自定义资源规则进行修正,进而得到与每一应用服务对应的配置信息,其中,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则;控制平面设备将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备。从而,针对每一应用服务,控制平面设备生成与每一应用服务对应的配置信息,控制平面设备只需要将与每一应用服务对应的配置信息发送给每一应用服务,降低了网络带宽资源的占用;控制平面设备剔除掉了每一应用服务所不需要的调用信息,进而使得与每一应用服务对应的计算设备的通讯代理中不需要存储不相关的调用信息、访问关系,节约了每一计算设备存储空间和内存。并且本申请实施例中,控制平面设备只需要将与每一应用服务对应的配置信息发送给每一应用服务,并且也只需要将与每一应用服务对应的更新后的配置信息发送给每一应用服务,降低了网络带宽资源的占用,降低了群整体内存开销和网络开销,不会引发集群性能波动,有利于集群的稳定运行。
图6为本申请实施例提供的另一种应用服务的配置信息的处理方法的流程图,如图6所示,该方法包括:
201、获取用户自定义资源规则。
一个示例中,步骤201包括以下实现方式:
第一种实现方式、接收其他设备发送的用户自定义资源规则。
第二种实现方式、响应于用户的触发操作,生成用户自定义资源规则。
第三种实现方式、获取业务信息,业务信息表征业务的处理流程,根据业务信息生成用户自定义资源规则。
示例性地,本实施例的执行主体为控制平面设备。控制平面设备首先需要获取到的用户自定义资源规则。
其他设备可以生成用户自定义资源规则,其他设备将用户自定义资源规则发给控制平面设备。
或者,控制平面设备显示一个界面,用户在该界面上进行操作;进而控制平面设备接收到用户发出的触控操作,控制平面设备根据用户的需求,生成用户自定义资源规则。
或者,控制平面设备获取到业务信息,业务信息表征业务的处理流程;进而,控制平面设备解析业务信息中的业务的处理流程,控制平面设备生成用户自定义资源规则。例如,业务信息表征的处理流程为应用服务1需访问应用服务2,然后,应用服务2需访问应用服务3、然后,应用服务3需访问应用服务4;进而控制平面设备将“应用服务1可访问应用服务2,应用服务2可访问应用服务3,应用服务3可访问应用服务4”加入到用户自定义资源规则中。
发起访问请求的应用服务为服务方;被访问的应用服务为消费方。消费方需要获知被分发端口监听、安全认证、传输加密、负载均衡、熔断限流、等入口配置规则。
并且,每一应用服务的通讯代理中具有服务方终端地址、流量分配规则、路由策略、故障注入规则、安全认证、传输加密、链路数据采集、等等出口配置规则、
202、接收服务鉴权系统发送的访问关系信息,其中,访问关系信息表征每一对应用服务之间的访问关系。
一个示例中,访问关系信息中包括黑名单信息和白名单信息,黑名单信息用于指示每一应用服务不可访问的应用服务,白名单信息用于指示每一应用服务可以访问的应用服务。
访问关系信息是服务鉴权系统依据所获取到的每一应用服务的历史访问记录、以及每一应用服务的请求信息所生成的。其中,历史访问记录为应用服务访问其他应用服务的访问记录,请求信息表征应用服务需要访问其他应用服务。
示例性地,服务鉴权系统生成访问关系信息。访问关系信息表征每一对应用服务之间的访问关系。
服务鉴权系统可以显示一个界面,用户可以在该界面上操作;服务鉴权系统基于用户的需求,生成访问关系信息。
或者,服务鉴权系统可以获取每一计算设备的应用服务的历史访问记录,历史访问记录为应用服务访问其他应用服务的访问记录;服务鉴权系统基于历史访问记录生成每一对应用服务之间的访问关系,进而生成访问关系信息。
或者,服务鉴权系统可以获取每一计算设备的应用服务的历史访问记录,历史访问记录为应用服务访问其他应用服务的访问记录;并且,每一计算设备可以向服务鉴权系统发送请求信息,请求信息表征与每一计算设备对应的应用服务需要访问其他应用服务;进而服务鉴权系统综合考虑历史访问记录和请求信息,将历史访问记录所表征的访问关系、请求信息所表征的访问关系均添加到访问关系信息中,进而生成访问关系信息。例如,应用服务1确定要访问新的应用服务4,则应用服务1告知服务鉴权系统,进而服务鉴权系统更新访问关系信息。
可知,访问关系信息中包括黑名单信息和白名单信息,黑名单信息用于指示每一应用服务不可访问的应用服务,白名单信息用于指示每一应用服务可以访问的应用服务。例如,访问关系信息中的白名单信息中包括:应用服务1可访问应用服务2、应用服务2可访问应用服务3、应用服务3可访问应用服务1。访问关系信息中的黑名单信息中包括:应用服务1不可访问应用服务3、应用服务2不可访问应用服务1。
服务鉴权系统将访问关系信息发送给控制平面设备。
203、针对每一应用服务,调取访问关系信息中的与每一应用服务对应的访问关系,并调取用户自定义资源规则中的与每一应用服务对应的调用关系。
示例性地,针对每一应用服务,控制平面设备调取访问关系信息中的与应用服务对应的访问关系,并调取用户自定义资源规则中的与应用服务对应的调用关系。
举例来说,访问关系信息中的白名单信息中包括:应用服务1可访问应用服务2、应用服务1可访问应用服务3、应用服务2可访问应用服务1、应用服务2可访问应用服务4、应用服务3可访问应用服务2。访问关系信息中的黑名单信息中包括:应用服务1不可访问应用服务4、应用服务2不可访问应用服务3、应用服务3不可访问应用服务1。
用户自定义资源规则中包括:应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务1可调用应用服务4、应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务2可调用应用服务4、应用服务3可调用应用服务1、应用服务3可调用应用服务2、应用服务3可调用应用服务4。
针对应用服务1,控制平面设备调取访问关系信息中的“应用服务1可访问应用服务2、应用服务1可访问应用服务3”以及“应用服务1不可访问应用服务4”,并调取用户自定义资源规则中的“应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务1可调用应用服务4”。
针对应用服务2,控制平面设备调取访问关系信息中的“应用服务2可访问应用服务1、应用服务2可访问应用服务4”以及“应用服务2不可访问应用服务3”,并调取用户自定义资源规则中的“应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务2可调用应用服务4”。
针对应用服务3,控制平面设备调取访问关系信息中的“应用服务3可访问应用服务2”以及“应用服务3不可访问应用服务1”,并调取用户自定义资源规则中的“应用服务3可调用应用服务1、应用服务3可调用应用服务2、应用服务3可调用应用服务4”。
204、针对每一应用服务,依据与每一应用服务对应的访问关系,修正与每一应用服务对应的调用关系,得到与每一应用服务对应的配置信息。其中,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则。
一个示例中,步骤203包括:针对每一应用服务,若与每一应用服务对应的访问关系表征应用服务可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,加入到与每一应用服务对应的调用关系中;针对每一应用服务,若与每一应用服务对应的访问关系表征应用服务不可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,从与每一应用服务对应的调用关系中删除。
示例性地,针对每一应用服务,控制平面设备依据与应用服务对应的访问关系,修正与应用服务对应的调用关系,得到与应用服务对应的配置信息。
一个示例中,针对每一应用服务,控制平面设备若确定白名单信息中与应用服务对应的访问关系表征应用服务可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,加入到与每一应用服务对应的调用关系中;针对每一应用服务,控制平面设备若确定黑名单信息中与每一应用服务对应的访问关系表征应用服务不可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,从与每一应用服务对应的调用关系中删除。进而得到与每一应用服务对应的配置信息。
举例来说,访问关系信息中的白名单信息中包括:应用服务1可访问应用服务2、应用服务1可访问应用服务3、应用服务2可访问应用服务1、应用服务2可访问应用服务4、应用服务3可访问应用服务2。访问关系信息中的黑名单信息中包括:应用服务1不可访问应用服务4、应用服务2不可访问应用服务3、应用服务3不可访问应用服务1。
用户自定义资源规则中包括:应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务1可调用应用服务4、应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务2可调用应用服务4、应用服务3可调用应用服务1、应用服务3可调用应用服务2、应用服务3可调用应用服务4。
针对应用服务1,控制平面设备调取访问关系信息中的“应用服务1可访问应用服务2、应用服务1可访问应用服务3”以及“应用服务1不可访问应用服务4”,并调取用户自定义资源规则中的“应用服务1可调用应用服务2、应用服务1可调用应用服务3、应用服务1可调用应用服务4”。控制平面设备得到与应用服务1对应的配置信息“应用服务1可调用应用服务2、应用服务1可调用应用服务3”。
针对应用服务2,控制平面设备调取访问关系信息中的“应用服务2可访问应用服务1、应用服务2可访问应用服务4”以及“应用服务2不可访问应用服务3”,并调取用户自定义资源规则中的“应用服务2可调用应用服务1、应用服务2可调用应用服务3、应用服务2可调用应用服务4”。控制平面设备得到与应用服务2对应的配置信息“应用服务2可调用应用服务1、应用服务2可调用应用服务4”。
针对应用服务3,控制平面设备调取访问关系信息中的“应用服务3可访问应用服务2”以及“应用服务3不可访问应用服务1”,并调取用户自定义资源规则中的“应用服务3可调用应用服务1、应用服务3可调用应用服务2、应用服务3可调用应用服务4”。控制平面设备得到与应用服务2对应的配置信息“应用服务3可调用应用服务2、应用服务3可调用应用服务4”。
205、将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备;其中,与每一应用服务对应的配置信息用于与每一应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
示例性地,本步骤可以参见步骤103,不再赘述。
并且,本实施例中,控制平面设备可以监听应用服务是否上线;控制平面设备在确定应用服务上线的时候,控制平面设备将与该应用服务对应的配置信息,发送给与该应用服务对应的计算设备。
在上述“基于应用服务级别细粒度分发的方法”中,图7为本申请实施例提供的内存和网络开销占比的示意图一,图7为采用上述“基于应用服务级别细粒度分发的方法”的时候,随着时间的变化,整个集群的内存和网络开销占比的变化趋势。如图7所示,新的应用服务1上线之后,为了使每一个通讯代理中都存在集群的完整的配置信息,控制平面设备会将所有的配置信息,无差别分发至所有的计算设备的通讯代理中;每一通讯代理将接收到的配置信息进行本地持久化保存处理,进而配置信息被通讯代理持久化为出口配置信息。即使应用服务永远不会使用的配置信息,通讯代理也会依然长期保存。当有新的应用服务2上线的时候,控制平面设备重复上述过程,使每一通讯代理中配置信息再次增加。随着新的服务服务不断上线每一个通讯代理中持久化保存的出口配置信息就会越来越多,如图7所示,造成整个集群的内存和网络开销占比持续升高。
在上述“依据运行数据逐步优化的方法”中,图8为本申请实施例提供的内存和网络开销占比的示意图二,图8为采用上述“依据运行数据逐步优化的方法”的时候,随着时间的变化,整个集群的内存和网络开销占比的变化趋势。如图8所示,新应用服务1上线之后,控制平面设备会无差别推送所有的配置信息给每一计算设备的通讯代理,造成每一通讯代理的开销占比逐步升高。在集群稳定运行一段时间之后,监控系统通过采集的每一应用服务实际的调用关系,对配置信息进行裁剪,进而删除无访问关系的配置信息,进而使得通讯代理的开销占比可以减少。但是,对于历史有访问记录的应用服务,该应用服务未必未来就会再此被访问。从而造成不再被访问的应用服务的调用关系会被一直保留在通讯代理,无法删除。再次有新的应用服务上线之后,经历监控修正过程依然无法对冗余的调用关系进行完整删除,造成开销占比的逐步升高。并且,监控系统采集每一应用服务实际的调用关系的采集时间、监控修正(即,对调用关系进行裁剪)的时间,是经验值,人工维护成本增加。
采用本实施例的方案,图9为本申请实施例提供的内存和网络开销占比的示意图三,图9为采用本实施例的方案的时候,随着时间的变化,整个集群的内存和网络开销占比的变化趋势。如图9所示,在新的应用服务1上线之后,控制平面设备始终执行初始的CRD规则而不会额外分发配置信息,从而集群的整体开销占比没有变化控制平面设备依据访问关系信息更新CRD规则,得到与每一应用服务对应的配置信息;控制平面设备将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备。接收到了与应用服务对应的配置信息的计算设备,由于更新了配置信息,进而有出口请求流量访问服务方,而服务方的配置信息都可以在通讯代理中找到,因此通讯代理中的配置信息既没有冗余也没有缺失。在新的应用服务2上线之后,重复上述过程,控制平面设备只需要将与每一应用服务对应的更新的配置信息,发送给与每一应用服务对应的计算设备,即,控制平面设备只需要下发被更新了配置信息的应用服务的配置信息,从而,在CRD规则更新(即,得到与每一应用服务对应的配置信息)之前,所有通讯代理的配置信息依然保持不变。
CRD规则更新,会对不同通讯代理产生三种影响:
第一种是,当通讯代理所在的应用服务有权访问应用服务2时,此通讯代理会被分发配置信息,CRD规则更新(即,得到与每一应用服务对应的配置信息)之后,通讯代理中的配置信息所需内存、以及网络开销比例增加。
第二种是,当通讯代理所在的应用服务无权访问应用服务2时,应用服务2的上线就与该通讯代理无关,该通讯代理也始终不会收到有关应用服务2的调用关系的信息,所以在针对与应用服务2有访问关系的其他应用服务的配置信息被更新之后,无权访问应用服务2的通讯代理中的内存、以及网络开销比例依然保持不变。
第三种是,当确定某一个应用服务3不允许再访问应用服务1的时候,CRD规则更新(即,得到与每一应用服务对应的配置信息);控制平面设备只需要将与每一应用服务对应的更新的配置信息,发送给与每一应用服务对应的计算设备,即,控制平面设备只需要下发被更新了配置信息的应用服务的配置信息。由于应用服务3与应用服务1之间的调用关系被取消,从而相关的通讯代理中的配置关系需要被裁剪,从而使得群体的内存、以及网络开销占比减少。
本实施例中,在上述实施例的基础上,服务鉴权系统得到访问关系信息,即,服务鉴权系统得到具有直接访问关系的服务方和消费方;访问关系信息可以是服务鉴权系统基于每一应用服务的历史访问记录、以及每一应用服务的请求信息所生成的,或者,访问关系信息是用户所确定的;进而所得到访问关系信息是准确的;控制平面设备获取用户自定义资源规则;控制平面设备基于访问关系信息对用户自定义资源规则进行修正,可以准确的得到与每一应用服务对应的配置信息。访问关系信息中包括白名单信息和黑名单信息,进而准确的得到与每一应用服务对应的配置信息。本实施例的方案中,与每一应用服务对应的配置信息中既保留了按应用服务的级别而设置的配置分发规则,又在通讯代理中保留了与应用服务实际调用关系相符合的配置信息,由于在通讯代理中保留了与应用服务实际调用关系相符合的配置信息,从而不影响应用服务的正常访问。控制平面设备将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备;与每一应用服务对应的配置信息中剔除掉所有不会被访问应用服务的相关配置,通讯代理中不存在无用的应用服务配置信息。
并且,在集群中,若出现应用服务下线、或者访问关系的改变(例如,业务逻辑变化造成访问关系的改变)等情况,可以修改CRD规则,得到与每一应用服务对应的配置信息,控制平面设备将与每一应用服务对应的更新后的配置信息,发送给与每一应用服务对应的计算设备的通讯代理,成通讯代理中配置信息可与CRD规则联动,删除冗余的调用关系和配置,裁剪历史数据。在集群中,若有新的应用服务上线、或者访问关系的改变(例如,业务逻辑变化造成访问关系的改变)等情况,控制平面设备只需要将与每一应用服务对应的更新的配置信息,发送给与每一应用服务对应的计算设备,即,控制平面设备只需要下发被更新了配置信息的应用服务的配置信息。新的配置信息不会被推送到所有的通讯代理,避免了集群的整体内存和网络的波动,保证了应用服务和集群的稳定运行。
图10为本申请实施例提供的又一种应用服务的配置信息的处理方法的流程图,如图10所示,该方法包括:
301、生成访问关系信息。
302、将访问关系信息发送给控制平面设备。
其中,访问关系信息表征每一对应用服务之间的访问关系;控制平面设备存储有用户自定义资源规则,用户自定义资源规则表征各应用服务之间的调用关系;访问关系信息和用户自定义资源规则,用于确定与每一应用服务对应的配置信息,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则。
与每一应用服务对应的配置信息,用于发送给与每一应用服务对应的计算设备;并且,与每一应用服务对应的配置信息用于与每一应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
一个示例中,访问关系信息中包括黑名单信息和白名单信息,黑名单信息用于指示每一应用服务不可访问的应用服务,白名单信息用于指示每一应用服务可以访问的应用服务;
步骤301,包括:获取每一应用服务的历史访问记录、以及每一应用服务的请求信息,其中,历史访问记录为应用服务访问其他应用服务的访问记录,请求信息表征应用服务需要访问其他应用服务;根据每一应用服务的历史访问记录、以及每一应用服务的请求信息,生成访问关系信息。
或者,步骤301,包括:响应于用户的触发操作,生成访问关系信息。
一个实施例中,本实施例还可以执行以下步骤:调取访问关系信息中的与每一应用服务对应的访问关系;将与每一应用服务对应的访问关系,发送给与每一应用服务对应的计算设备;其中,与每一应用服务对应的访问关系用于计算设备中的应用服务依据该访问关系对计算设备进行监控。
一个实施例中,与每一应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
示例性地,本实施例的执行主体为服务鉴权系统。本实施例可以参见上述方法实施例,其原理和技术效果类似,不再赘述。
此外,本实施例中,服务鉴权系统可以从访问关系信息中,调取与每一应用服务对应的访问关系;针对每一应用服务,服务鉴权系统将与应用服务对应的访问关系,发送给与应用服务对应的计算设备的通讯代理;进而通讯代理依据接收到访问关系,对计算设备进行监控。
图11为本申请实施例提供的一种应用服务的配置信息的处理装置的结构示意图,如图11所示,该装置应用于控制平面设备,该装置包括:
接收单元31,用于接收服务鉴权系统发送的访问关系信息,其中,访问关系信息表征每一对应用服务之间的访问关系。
确定单元32,用于根据访问关系信息和预存的用户自定义资源规则,用户自定义资源规则表征各应用服务之间的调用关系,确定与每一应用服务对应的配置信息,其中,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则。
发送单元33,用于将与每一应用服务对应的配置信息,发送给与每一应用服务对应的计算设备;其中,与每一应用服务对应的配置信息用于与每一应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
一个示例中,确定单元32,包括:
调取模块,用于针对每一应用服务,调取访问关系信息中的与每一应用服务对应的访问关系,并调取用户自定义资源规则中的与每一应用服务对应的调用关系。
修正模块,用于针对每一应用服务,依据与每一应用服务对应的访问关系,修正与每一应用服务对应的调用关系,得到与每一应用服务对应的配置信息。
一个示例中,修正模块,具体用于:针对每一应用服务,若与每一应用服务对应的访问关系表征应用服务可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,加入到与每一应用服务对应的调用关系中;针对每一应用服务,若与每一应用服务对应的访问关系表征应用服务不可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,从与每一应用服务对应的调用关系中删除。
一个示例中,本申请实施例提供的装置,还包括:获取单元,用于获取用户自定义资源规则。
获取单元,具体用于:接收其他设备发送的用户自定义资源规则;或者,响应于用户的触发操作,生成用户自定义资源规则;或者,获取业务信息,业务信息表征业务的处理流程,根据业务信息生成用户自定义资源规则。
一个示例中,访问关系信息中包括黑名单信息和白名单信息,黑名单信息用于指示每一应用服务不可访问的应用服务,白名单信息用于指示每一应用服务可以访问的应用服务;访问关系信息是服务鉴权系统依据所获取到的每一应用服务的历史访问记录、以及每一应用服务的请求信息所生成的,其中,历史访问记录为应用服务访问其他应用服务的访问记录,请求信息表征应用服务需要访问其他应用服务。
与每一应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
示例性地,本实施例可以参见上述方法实施例,其原理和技术效果类似,不再赘述。
图12为本申请实施例提供的另一种应用服务的配置信息的处理装置的结构示意图,如图12所示,该装置应用于服务鉴权系统,该装置包括:
生成单元41,用于生成访问关系信息;
第一发送单元42,用于将访问关系信息发送给控制平面设备;
其中,访问关系信息表征每一对应用服务之间的访问关系;控制平面设备存储有用户自定义资源规则,用户自定义资源规则表征各应用服务之间的调用关系;访问关系信息和用户自定义资源规则,用于确定与每一应用服务对应的配置信息,与每一应用服务对应的配置信息包括每一应用服务对其他应用服务的访问规则。
与每一应用服务对应的配置信息,用于发送给与每一应用服务对应的计算设备;并且,与每一应用服务对应的配置信息用于与每一应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
一个示例中,访问关系信息中包括黑名单信息和白名单信息,黑名单信息用于指示每一应用服务不可访问的应用服务,白名单信息用于指示每一应用服务可以访问的应用服务。
一个示例中,生成单元41,具体用于:获取每一应用服务的历史访问记录、以及每一应用服务的请求信息,其中,历史访问记录为应用服务访问其他应用服务的访问记录,请求信息表征应用服务需要访问其他应用服务;根据每一应用服务的历史访问记录、以及每一应用服务的请求信息,生成访问关系信息。
或者,生成单元41,具体用于:响应于用户的触发操作,生成访问关系信息。
一个示例中,本申请实施例提供的装置,还包括:
调取单元,用于调取访问关系信息中的与每一应用服务对应的访问关系。
第二发送单元,用于将与每一应用服务对应的访问关系,发送给与每一应用服务对应的计算设备;其中,与每一应用服务对应的访问关系用于计算设备中的应用服务依据该访问关系对计算设备进行监控。
一个示例中,与每一应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
示例性地,本实施例可以参见上述方法实施例,其原理和技术效果类似,不再赘述。
图13为本申请实施例提供的一种电子设备的结构示意图,如图13所示,电子设备包括:存储器71,处理器72。
存储器71;用于存储处理器72可执行指令的存储器。
其中,处理器72被配置为执行如上述实施例提供的方法。
电子设备还包括接收器73和发送器74。接收器73用于接收外部设备发送的指令和数据,发送器74用于向外部设备发送指令和数据。
示例性地,电子设备可以为控制平面设备,或者,电子设备可以为服务鉴权系统。
本申请实施例还提供了应用服务的配置信息的处理系统,该处理系统包括上述实施例的控制平面设备和服务鉴权系统。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种应用服务的配置信息的处理方法,所述方法应用于控制平面设备,所述方法包括:
接收服务鉴权系统发送的访问关系信息,其中,所述访问关系信息表征每一对应用服务之间的访问关系;
根据所述访问关系信息和预存的用户自定义资源规则,所述用户自定义资源规则表征各应用服务之间的调用关系,确定与每一所述应用服务对应的配置信息,其中,与每一所述应用服务对应的配置信息包括每一所述应用服务对其他应用服务的访问规则;
将与每一所述应用服务对应的配置信息,发送给与每一所述应用服务对应的计算设备;其中,与每一所述应用服务对应的配置信息用于与每一所述应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
2.根据权利要求1所述的方法,其中,根据所述访问关系信息和预存的用户自定义资源规则,确定与每一所述应用服务对应的配置信息,包括:
针对每一所述应用服务,调取所述访问关系信息中的与每一所述应用服务对应的访问关系,并调取所述用户自定义资源规则中的与每一所述应用服务对应的调用关系;
针对每一所述应用服务,依据与每一所述应用服务对应的访问关系,修正与每一所述应用服务对应的调用关系,得到与每一所述应用服务对应的配置信息。
3.根据权利要求2所述的方法,其中,针对每一所述应用服务,依据与每一所述应用服务对应的访问关系,修正与每一所述应用服务对应的调用关系,得到与每一所述应用服务对应的配置信息,包括:
针对每一所述应用服务,若与每一所述应用服务对应的访问关系表征应用服务可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,加入到与每一所述应用服务对应的调用关系中;
针对每一所述应用服务,若与每一所述应用服务对应的访问关系表征应用服务不可访问其他应用服务,则将应用服务与其他应用服务之间的访问关系,从与每一所述应用服务对应的调用关系中删除。
4.根据权利要求1所述的方法,所述方法还包括:
接收其他设备发送的所述用户自定义资源规则;
或者,响应于用户的触发操作,生成所述用户自定义资源规则;
或者,获取业务信息,所述业务信息表征业务的处理流程,根据所述业务信息生成所述用户自定义资源规则。
5.根据权利要求1-4任一项所述的方法,所述访问关系信息中包括黑名单信息和白名单信息,所述黑名单信息用于指示每一应用服务不可访问的应用服务,所述白名单信息用于指示每一应用服务可以访问的应用服务;所述访问关系信息是所述服务鉴权系统依据所获取到的每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息所生成的,其中,所述历史访问记录为应用服务访问其他应用服务的访问记录,所述请求信息表征应用服务需要访问其他应用服务;
与每一所述应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
6.一种应用服务的配置信息的处理方法,所述方法应用于服务鉴权系统,所述方法包括:
生成访问关系信息,并将所述访问关系信息发送给控制平面设备;
其中,所述访问关系信息表征每一对应用服务之间的访问关系;所述控制平面设备存储有用户自定义资源规则,所述用户自定义资源规则表征各应用服务之间的调用关系;所述访问关系信息和所述用户自定义资源规则,用于确定与每一所述应用服务对应的配置信息,与每一所述应用服务对应的配置信息包括每一所述应用服务对其他应用服务的访问规则;
与每一所述应用服务对应的配置信息,用于发送给与每一所述应用服务对应的计算设备;并且,与每一所述应用服务对应的配置信息用于与每一所述应用服务对应的计算设备中的通讯代理模块依据配置信息,对应用服务进行服务控制。
7.根据权利要求6所述的方法,其中,所述访问关系信息中包括黑名单信息和白名单信息,所述黑名单信息用于指示每一应用服务不可访问的应用服务,所述白名单信息用于指示每一应用服务可以访问的应用服务;
生成访问关系信息,包括:
获取每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息,其中,所述历史访问记录为应用服务访问其他应用服务的访问记录,所述请求信息表征应用服务需要访问其他应用服务;根据每一所述应用服务的历史访问记录、以及每一所述应用服务的请求信息,生成所述访问关系信息;
或者,响应于用户的触发操作,生成所述访问关系信息。
8.根据权利要求6或7所述的方法,所述方法还包括:
调取所述访问关系信息中的与每一所述应用服务对应的访问关系;
将与每一所述应用服务对应的访问关系,发送给与每一所述应用服务对应的计算设备;其中,与每一所述应用服务对应的访问关系用于计算设备中的应用服务依据该访问关系对计算设备进行监控。
9.根据权利要求6或7所述的方法,其中,与每一所述应用服务对应的配置信息还包括:应用服务的网络参数,和/或,应用服务的路由参数。
10.一种电子设备,所述电子设备包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-9任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111576515.2A CN114285889B (zh) | 2021-12-21 | 2021-12-21 | 应用服务的配置信息的处理方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111576515.2A CN114285889B (zh) | 2021-12-21 | 2021-12-21 | 应用服务的配置信息的处理方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285889A true CN114285889A (zh) | 2022-04-05 |
CN114285889B CN114285889B (zh) | 2024-05-17 |
Family
ID=80873901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111576515.2A Active CN114285889B (zh) | 2021-12-21 | 2021-12-21 | 应用服务的配置信息的处理方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285889B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532758A (zh) * | 2013-10-18 | 2014-01-22 | 烽火通信科技股份有限公司 | 适合下一代传输、数据设备融合的配置处理方法 |
CN106302153A (zh) * | 2015-05-11 | 2017-01-04 | 中兴通讯股份有限公司 | 多域控制器、单域控制器、软件定义光网络系统及方法 |
CN113316925A (zh) * | 2019-01-21 | 2021-08-27 | 威睿公司 | 确定网络配置依赖关系的跨度 |
CN113783774A (zh) * | 2021-08-20 | 2021-12-10 | 北京快乐茄信息技术有限公司 | 一种跨集群的网络配置方法、装置、通信设备及存储介质 |
WO2021249268A1 (zh) * | 2020-06-09 | 2021-12-16 | 阿里巴巴集团控股有限公司 | 服务网格实例的构建方法、服务网格系统以及多集群系统 |
-
2021
- 2021-12-21 CN CN202111576515.2A patent/CN114285889B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532758A (zh) * | 2013-10-18 | 2014-01-22 | 烽火通信科技股份有限公司 | 适合下一代传输、数据设备融合的配置处理方法 |
CN106302153A (zh) * | 2015-05-11 | 2017-01-04 | 中兴通讯股份有限公司 | 多域控制器、单域控制器、软件定义光网络系统及方法 |
CN113316925A (zh) * | 2019-01-21 | 2021-08-27 | 威睿公司 | 确定网络配置依赖关系的跨度 |
WO2021249268A1 (zh) * | 2020-06-09 | 2021-12-16 | 阿里巴巴集团控股有限公司 | 服务网格实例的构建方法、服务网格系统以及多集群系统 |
CN113783774A (zh) * | 2021-08-20 | 2021-12-10 | 北京快乐茄信息技术有限公司 | 一种跨集群的网络配置方法、装置、通信设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114285889B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210337046A1 (en) | Intelligent scheduling method, terminal device, edge node cluster and intelligent scheduling system | |
CN107819891A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
EP2939401B1 (en) | Method for guaranteeing service continuity in a telecommunication network and system thereof | |
CN109831507B (zh) | 物联网系统、负载均衡方法和存储介质 | |
CN112367684B (zh) | 流量控制方法、装置、存储介质及计算机设备 | |
CN110808857B (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN113301071B (zh) | 网络的回源方法、装置及设备 | |
JP2023520057A (ja) | マイクロサービス構成用方法、装置、電子デバイス、システム及び記憶媒体 | |
CN113517985B (zh) | 文件数据处理方法、装置、电子设备及计算机可读介质 | |
CN113220723A (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
CN112055078A (zh) | 一种数据传输方法、装置、计算机设备和存储介质 | |
CN110557289A (zh) | 一种支持配置的网络架构以及业务响应方法 | |
CN110933188A (zh) | 远程服务的调用方法、系统、服务器及存储介质 | |
CN105933270B (zh) | 一种云加密机的处理方法及装置 | |
CN116805946A (zh) | 一种消息请求处理方法、装置、电子设备及存储介质 | |
CN114338687A (zh) | 中间件管理方法和服务器 | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
CN112702229B (zh) | 数据传输方法、装置、电子设备以及存储介质 | |
CN110611688B (zh) | 用于查找节点的方法、电子设备和计算机程序产品 | |
CN114285889B (zh) | 应用服务的配置信息的处理方法、装置和设备 | |
CN111600929A (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN116414628A (zh) | 一种新旧系统切换过程中交易请求的处理方法和装置 | |
CN116028196A (zh) | 数据处理方法、装置及存储介质 | |
CN104426704A (zh) | 整合网络装置及其服务整合方法 | |
CN110995890A (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 |