System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及电数字数据处理领域,具体涉及一种基于配置的微服务隔离运行方法、设备及介质。
技术介绍
1、随着云计算和软件开发方法的不断演进,微服务架构在企业应用开发中越来越受到关注。微服务架构通过将复杂的应用程序拆分为小型、独立的服务,提供了更好的可伸缩性、灵活性和可维护性。
2、然而,随着微服务的广泛应用,如果微服务不进行适当的隔离运行,会导致一系列问题。
3、首先,当微服务之间共享资源或者运行在相同的运行环境中时,一个微服务的错误或故障可能会对整个系统造成影响,导致系统的不稳定性。其次,如果某个微服务存在安全漏洞,或者遭受到恶意攻击,整个系统的安全性可能会受到威胁。最后,如果微服务之间的通信不受控制或者发生故障,会影响系统的可用性和性能。
技术实现思路
1、为了解决上述问题,本申请提出了一种基于配置的微服务隔离运行方法,包括:
2、对隔离策略进行定义,生成配置文件,所述隔离策略包括多个类型,所述多个类型包括:隔离策略生效范围、微服务部署策略;
3、将所述配置文件部署至kubernetes集群中,并通过内置的加载器,对所述隔离策略进行校验加载;
4、针对所述隔离策略所对应的类型,通过对应的解析器对所述隔离策略进行解析,并返回对应的解析结果;
5、根据所述解析结果,调用策略调度引擎,对各类型的隔离策略调用相应的策略执行器进行调度操作,以及进行执行操作,以实现微服务的隔离运行。
6、在一个示例中,所述隔离
7、所述微服务部署策略,对所述隔离策略生效范围内的微服务,在部署时多个部分的隔离策略进行配置。
8、在一个示例中,所述微服务部署策略包括:微服务节点调度策略、微服务亲和策略、微服务网络访问策略;
9、其中,所述微服务节点调度策略,用于微服务部署时调度到指定节点的配置;
10、所述微服务亲和策略,配置各微服务是否能够被允许部署到同一位置;
11、所述微服务网络访问策略,定义微服务之间的通信规则,所述通信规则至少包括是否被允许通信。
12、在一个示例中,针对所述隔离策略所对应的类型,通过对应的解析器对所述隔离策略进行解析,具体包括:
13、针对所述隔离策略所对应的类型,选择对应的解析器,所述解析器包括:策略范围解析器、节点调度解析器、微服务亲和策略解析器和网络策略解析器;
14、通过对应的解析器,将所述隔离策略转化为对应的调度策略实体。
15、在一个示例中,所述微服务节点调度策略的配置结构、策略结构一致,包括类型type、规则rule,其中,规则是表达式数组,其支持的操作包括in、notin、exists、doesnotexist、gt、lt;
16、所述微服务网络访问策略包括网络入口策略inpolicy、网络出口策略outpolicy。
17、在一个示例中,所述方法还包括:
18、根据所述微服务节点调度策略,确定调度至同一个指定节点中的多个微服务,并在所述多个微服务中,确定应用于同一个软件节点的若干个指定微服务;
19、通过所述微服务亲和策略,配置所述若干个指定微服务被允许部署至同一位置,并通过所述微服务网络访问策略,定义所述若干个指定微服务之间被允许通信。
20、在一个示例中,所述方法还包括:
21、确定所述微服务的应用系统出现故障,或,遭受攻击;
22、在所述若干个指定微服务中,确定基础微服务,所述基础微服务应用于至少多个软件节点;
23、通过所述微服务网络访问策略,定义所述基础微服务与所述若干个指定微服务之间为动态通信,所述动态通信指的是,所述基础微服务在同一时间,只能与一个软件节点中的其他指定微服务通信。
24、在一个示例中,通过内置的加载器,对所述隔离策略进行校验加载,具体包括:
25、通过隔离配置服务configservice提供的loadconfig方法和parseconfig方法,对所述隔离策略对应的配置文件进行加载;
26、通过对应的解析器对所述隔离策略进行解析,具体包括:
27、通过对应的解析器policyprocessenginee的processconfig方法,对所述隔离策略进行解析;
28、调用策略调度引擎,对各类型的隔离策略调用相应的策略执行器进行调度操作,具体包括:
29、调用策略调度引擎的deploypolicyservice中deploypolicyprocess方法,和networkpolicyservice中networkpolicyprocess方法,对各类型的隔离策略调用相应的策略执行器进行调度操作。
30、另一方面,本申请还提出了一种基于配置的微服务隔离运行设备,包括:
31、至少一个处理器;以及,
32、与所述至少一个处理器通信连接的存储器;其中,
33、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:上述任一示例所述的基于配置的微服务隔离运行方法。
34、另一方面,本申请还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:上述任一示例所述的基于配置的微服务隔离运行方法。
35、通过本申请提出基于配置的微服务隔离运行方法能够带来如下有益效果:
36、基于配置,从部署和网络两个层面设置微服务运行的隔离策略。通过配置隔离策略的定义,实现对微服务运行时的隔离保护,确保各个微服务彼此之间干扰的最小化。确保微服务在运行时相互独立、隔离,并具备高可用性和可伸缩性,从而提供更可靠、高性能的系统,并提供更好的安全性保障。
37、基于kubernetes的调度机制,采用配置的形式,动态的配置微服务运行的隔离策略。简化微服务隔离运行配置的复杂度,提升微服务隔离运行部署的效率。
本文档来自技高网...【技术保护点】
1.一种基于配置的微服务隔离运行方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述隔离策略生效范围,通过标签选择的方式,确定隔离策略的生效范围所对应的微服务列表;
3.根据权利要求2所述的方法,其特征在于,所述微服务部署策略包括:微服务节点调度策略、微服务亲和策略、微服务网络访问策略;
4.根据权利要求3所述的方法,其特征在于,针对所述隔离策略所对应的类型,通过对应的解析器对所述隔离策略进行解析,具体包括:
5.根据权利要求3所述的方法,其特征在于,所述微服务节点调度策略的配置结构、策略结构一致,包括类型type、规则rule,其中,规则是表达式数组,其支持的操作包括In、NotIn、Exists、DoesNotExist、Gt、Lt;
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,通过内置的加载器,对所述隔离策略进行校验加载,具体包括:
9.一种基
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:权利要求1~8中任一项权利要求所述的基于配置的微服务隔离运行方法。
...【技术特征摘要】
1.一种基于配置的微服务隔离运行方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述隔离策略生效范围,通过标签选择的方式,确定隔离策略的生效范围所对应的微服务列表;
3.根据权利要求2所述的方法,其特征在于,所述微服务部署策略包括:微服务节点调度策略、微服务亲和策略、微服务网络访问策略;
4.根据权利要求3所述的方法,其特征在于,针对所述隔离策略所对应的类型,通过对应的解析器对所述隔离策略进行解析,具体包括:
5.根据权利要求3所述的方法,其特征在于,所述微服务节点调度策略的配置结构、策略结构一致,包括类型type、规则rule,其中,...
【专利技术属性】
技术研发人员:郑伟波,刘建华,仪思奇,周祥国,杜晓东,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。