【技术实现步骤摘要】
一种微服务治理方法、装置及系统
[0001]本申请涉及云计算
,尤其涉及一种微服务治理方法、装置及系统。
技术介绍
[0002]随着云原生技术快速发展,传统的单体应用逐步向微服务应用转化,涌现出了Spring Cloud、Dubbo、ServiceComb等多种微服务开发框架。微服务开发框架不仅可以提供快速构建微服务应用的能力,更重要的是可以在微服务应用运行态提供熔断、限流等丰富的微服务治理能力,从而保障微服务应用持续稳定的运行,并通过分布式调用链追踪特性提供快速定位和分析微服务应用异常的能力。其中,Spring Cloud的限流、熔断、调用链追踪等治理能力可通过hystrix组件、zipkin组件等组件实现,Dubbo的治理能力可通过sentinel组件实现,ServiceComb的治理能力可通过内置的多个Handler组件实现。
[0003]目前,在银行、保险、证券等金融企业中,使用Spring Cloud或Dubbo进行微服务开发的占据主流。很多金融企业在初期使用Spring Cloud或Dubbo进行微 ...
【技术保护点】
【技术特征摘要】
1.一种微服务治理方法,其特征在于,包括:启动微服务消费端和微服务提供端的微服务应用以及代理agent组件;其中,所述agent组件包括字节码增强框架和治理插件,所述字节码增强框架用于使用不同的治理插件的增强类对同一方法进行多次增强;确定所述微服务应用至少一个待加载的治理插件,并基于所述待加载的治理插件的类别以及配置顺序,确定所述待加载的治理插件的加载顺序;基于所述加载顺序,将所述待加载的治理插件通过所述字节码增强框架加载到所述微服务应用中;确定所述微服务应用已加载的治理插件待增强的方法,并通过所述字节码增强框架为所述待增强的方法创建增强类链条;其中,所述增强类链条包括至少一个对所述待增强的方法进行增强的治理插件的增强类,所述增强类链条的顺序为所述加载顺序。2.如权利要求1所述的方法,其特征在于,所述待加载的治理插件的类别为链路追踪类、访问控制类、故障注入类或路由管理类;其中,所述链路追踪类的治理插件用于构建完整的分布式调用链路,并在请求经过时将所述请求的相关信息记录到调用链日志中,所述访问控制类的治理插件用于对发送或接收的请求基于预设规则进行认证和过滤,所述故障注入类的治理插件用于对业务请求进行记录,并实现模拟超时、各种状态码和异常的功能,所述路由管理类的治理插件用于对调用请求进行分发。3.如权利要求1或2所述的方法,其特征在于,所述基于所述待加载的治理插件的类别以及配置顺序,确定所述待加载的治理插件的加载顺序,包括:基于所述待加载的治理插件的类别,确定所述待加载的治理插件在不同类别的治理插件中的第一加载顺序;基于所述待加载的治理插件的配置顺序,确定所述待加载的治理插件在同一类别的治理插件中的第二加载顺序;基于所述第一加载顺序和所述第二加载顺序,确定所述待加载的治理插件的加载顺序。4.如权利要求3所述的方法,其特征在于,所述基于所述待加载的治理插件的类别,确定所述待加载的治理插件在不同类别的治理插件中的第一加载顺序,包括:若所述待加载的治理插件为所述微服务消费端的微服务应用待加载的治理插件,则基于第一加载规则以及所述待加载的治理插件的类别,确定所述待加载的治理插件在不同类别的治理插件中的第一加载顺序;其中,所述第一加载规则为依次加载链路追踪类、访问控制类、故障注入类和路由管理类的治理插件;若所述待加载的治理插件为所述微服务提供端的微服务应用待加载的治理插件,则基于第二加载规则以及所述待加载的治理插件的类别,确定所述待加载的治理插件在不同类别的治理插件中的第一加载顺序;其中,所述第二加载规则为依次加载链路追踪类、访问控制类和故障注入类的治理插件。5.如权利要求1
‑
4任一所述的方法,其特征在于,所述通过所述字节码增强框架为所述待增强的方法创建增强类链条之后,还包括:获取所述微服务应用的治理规则,并将所述治理规则加载到所述微服务应用已加载的治理插件中;
在所述微服务消费端的微服务应用向所述微服务提供端的微服务应用发送调用请求时,执行第一治理规则,并基于所述第一治理规则确定是否拦截所述调用请求;其中,所述第一治理规则为所述微服务消费端的微服务应用已加载的治理插件的治理规则,所述调用请求用于请求调用所述微服务提供端的微服务应用的业务接口;若确定不拦截所述调用请求,则将所述调用请求转发给所述微服务提供端的微服务应用,执行第二治理规则,并基于所述第二治理规则确定是否拦截所述调用请求,其中,所述第二治理规则为所述微服务提供端的微服务应用已加载的治理插件的治理规则;若确定不拦截所述调用请求,则将所述调用请求转发给所述业务接口,以使所述业务接口向所述微服务消费端的微服务应用发送调用响应。6.一种微服务治理装置,其特征在于,包括:启动模块,用于启动微服务消费端和微服务提供端的微服务应用以及agent组件;其中,所述agent组...
【专利技术属性】
技术研发人员:闫敏之,杨奕,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。