基于Istio的接口级别服务治理方法及相关装置制造方法及图纸

技术编号:34396064 阅读:15 留言:0更新日期:2022-08-03 21:30
一种基于Istio的接口级别服务治理方法,包括:以不同底层平台和Istio服务网格作为基础架构;获取Istio服务网格中各个Envoy代理,将每一Envoy代理分别与业务应用部署于同一Pod容器中,同一类的Pod容器对应抽象出一个微服务;通过Pilot组件对多个底层平台进行服务发现和流量规则发现;Istio服务网格中改进后的xDS协议包括所有接口服务信息的Function发现服务,通过Function发现服务以将服务信息和流量规则下发至所有Envoy代理中,以对微服务的接口服务实现流量治理。通过采用上述技术方案,实现对微服务的精细化治理,提升治理的灵活性。活性。活性。

【技术实现步骤摘要】
基于Istio的接口级别服务治理方法及相关装置


[0001]本专利技术涉及信息
,尤其涉及一种基于Istio的接口级别服务治理方法及相关装置。

技术介绍

[0002]微服务应用和云原生容器技术的出现,由于以往的业务流程和流量治理规则耦合程度高的痛点,推动了人们对服务网格的需求。服务网格是服务之间通信的控制器,随着越来越多容器应用的开发和部署,企业可能会有成百上千或数万计的容器在运行,对于管理上述容器或服务之间的通信则成为了云原生技术的巨大挑战。为了解决上述通信问题,包括服务间的负载均衡、流量管理、路由、运行状况监视、安全策略及服务间身份验证,以Istio为代表的服务网格应运而生。
[0003]在开源的Istio方案中,实现了微服务级别的服务治理能力,其流量治理以基础设施的方式提供给用户非侵入的流量治理能力,用户只需关注自己的业务逻辑开发,无须关注服务访问管理。
[0004]但是上述Istio流量治理的策略均是基于实例级别或者微服务级别的,无法对实例级别或者微服务实例中的某一个接口进行流量治理。示例地,若某一微服务实例是订单中心,其中存在多个接口,比如订单的查询、订单的下单等操作,当查询接口请求量较大时,导致其他接口查询缓慢,在istio中使用熔断或者降级的策略,那么该策略将应用于整个微服务实例的所有接口,导致微服务实例的所有接口均执行熔断或者降级,无法对微服务实现精细化服务治理。

技术实现思路

[0005]针对现有技术存在的不足,本申请的目的在于提供基于Istio的接口级别服务治理方法及相关装置,实现对微服务的精细化治理,提升治理的灵活性。
[0006]为实现上述目的,本专利技术提供了如下技术方案:
[0007]第一方面,提供一种基于Istio的接口级别服务治理方法,以不同底层平台和Istio服务网格作为基础架构,其特征在于,包括:
[0008]获取所述Istio服务网格中各个Envoy代理,将每一所述Envoy代理分别与业务应用部署于同一Pod容器中,同一类的所述Pod容器对应抽象出一个微服务;
[0009]通过Pilot组件对多个所述底层平台进行服务发现和流量规则发现;
[0010]所述Istio服务网格中改进后的xDS协议包括所有接口服务信息的Function发现服务,通过Function发现服务以将服务信息和流量规则下发至所有所述Envoy代理中,以对微服务的接口服务实现流量治理。
[0011]本专利技术进一步设置为:所述底层平台包括有Kubernetes、Mesos和CloudFoundry中一个或多个。
[0012]本专利技术进一步设置为:所述通过Pilot组件对多个所述底层平台进行服务发现和
流量规则发现,具体步骤包括:
[0013]通过平台适配器监听所述底层平台以获得服务信息和流量规则,以将服务信息和流量规则转换为Istio抽象模型可理解的格式;
[0014]基于所述Envoy代理的订阅,通过改进后的xDS协议将服务信息和流量规则分发至所有所述Envoy代理中。
[0015]本专利技术进一步设置为:所述通过改进后的xDS协议以将服务信息和流量规则下发至所有所述Envoy代理,具体步骤包括:
[0016]所述Pilot组件响应于所述Envoy代理发起的DiscoveryRequest类型的请求进行动态加载配置,配置加载成功则进行ACK,否则进行NACK。
[0017]本专利技术进一步设置为:所述改进后的xDS协议包括所有接口服务信息的Function发现服务,其中调用微服务的接口服务具体步骤包括:
[0018]通过所述改进后的xDS协议以将服务信息和流量规则下发至所有所述Envoy代理;其中,与调用微服务对应的所述Envoy代理检查所述底层平台中是否配置有目标微服务的接口信息;
[0019]若是所述底层平台不存在所述目标微服务的接口信息,则流量被拦截;
[0020]若是所述底层平台存在所述目标微服务的接口信息,则流量放行到达所述目标微服务的目标Pod容器中。
[0021]本专利技术进一步设置为:所述与调用微服务对应的所述Envoy代理检查所述底层平台中是否配置有目标微服务的接口信息,具体步骤包括:
[0022]通过控制配置开关的启闭可决定所述Pilot组件是否对所述目标微服务下的所有接口进行配置目标接口服务信息;
[0023]若所述配置开关处于开启状态则对所述目标微服务下的所有接口进行配置目标接口服务信息,否则不对所述目标微服务下的所有接口进行配置目标接口服务信息。
[0024]本专利技术进一步设置为:所述Function发现服务的接口服务信息包括有接口名称和接口所归属的微服务名称。
[0025]第二方面,提供一种基于Istio的接口级别服务治理装置,其特征在于,包括:
[0026]部署模块,用于获取所述Istio服务网格中各个Envoy代理,将每一所述Envoy代理分别与业务应用部署于同一Pod容器中,同一类的所述Pod容器对应抽象出一个微服务;
[0027]发现模块,用于通过Pilot组件对多个所述底层平台进行服务发现和流量规则发现;
[0028]分发模块,用于所述Istio服务网格中的改进后的xDS协议包括所有接口服务信息的Function发现服务,通过Function发现服务以将服务信息和流量规则下发至所有所述Envoy代理中,以对微服务的接口服务实现流量治理。
[0029]第三方面,提供一种终端设备,其特征在于,其包括存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如权利要求1

7任意一项所述的基于Istio的接口级别服务治理方法。
[0030]第四方面,提供一种可读计算机介质,其特征在于,包括一个或多个应用程序中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,
所述一个或多个应用程序被配置为用于执行根据权利要求1

7任意一项所述的基于Istio的接口级别服务治理方法。
[0031]与现有技术相比,本专利技术具备如下优点:
[0032]1.通过将同一类的每一Pod容器、微服务的接口服务和Envoy代理之间一一对应,并在标准的改进后的xDS协议上新增了Function发现服务,当启用设于微服务的配置开关,将目标接口服务信息配置于Function发现服务,以实现对接口级别的流量治理,克服了在Istio服务网格中采用熔断或降级的策略将导致微服务的所有接口均发现熔断或者降级的缺点,可在对微服务的接口服务配置各种熔断或者降级的策略,将同一微服务的不同接口服务之间的相互影响减小到可接受的范围之中,实现对微服务的更为精细化治理;
[0033]2.通过在微服务上设有配置开关,通过控制配置开关的启闭,实现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Istio的接口级别服务治理方法,以不同底层平台和Istio服务网格作为基础架构,其特征在于,包括:获取所述Istio服务网格中各个Envoy代理,将每一所述Envoy代理分别与业务应用部署于同一Pod容器中,同一类的所述Pod容器对应抽象出一个微服务;通过Pilot组件对多个所述底层平台进行服务发现和流量规则发现;所述Istio服务网格中改进后的xDS协议包括所有接口服务信息的Function发现服务,通过Function发现服务以将服务信息和流量规则下发至所有所述Envoy代理中,以对微服务的接口服务实现流量治理。2.根据权利要求1所述的基于Istio的接口级别服务治理方法,其特征在于,所述底层平台包括有Kubernetes、Mesos和CloudFoundry中一个或多个。3.根据权利要求2所述的基于Istio的接口级别服务治理方法,其特征在于,所述通过Pilot组件对多个所述底层平台进行服务发现和流量规则发现,具体步骤包括:通过平台适配器监听所述底层平台以获得服务信息和流量规则,以将服务信息和流量规则转换为Istio抽象模型可理解的格式;基于所述Envoy代理的订阅,通过改进后的xDS协议将服务信息和流量规则分发至所有所述Envoy代理中。4.根据权利要求1所述的基于Istio的接口级别服务治理方法,其特征在于,所述通过改进后的xDS协议以将服务信息和流量规则下发至所有所述Envoy代理,具体步骤包括:所述Pilot组件响应于所述Envoy代理发起的DiscoveryRequest类型的请求进行动态加载配置,配置加载成功则进行ACK,否则进行NACK。5.根据权利要求1所述的基于Istio的接口级别服务治理方法,其特征在于,所述改进后的xDS协议包括所有接口服务信息的Function发现服务,其中调用微服务的接口服务具体步骤包括:通过所述改进后的xDS协议以将服务信息和流量规则下发至所有所述Envoy代理;其中,与调用微服务对应的所述Envoy代理检查所述底层平台中是否配置有目标微服务的接口信息;若是所述底层平台不存在所述目标微服务的接口信息,则流量被拦截;若...

【专利技术属性】
技术研发人员:陈波廖雪峰薛浩
申请(专利权)人:南京亚信软件有限公司
类型:发明
国别省市:

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

1