基于云原生的服务治理方法、装置及存储介质制造方法及图纸

技术编号:33850940 阅读:24 留言:0更新日期:2022-06-18 10:37
本发明专利技术公开了一种基于云原生的服务治理方法、装置及存储介质,涉及计算机技术领域,包括:接收服务提供者的服务信息,并基于服务信息生成注册列表,云原生微服务平台用于实现服务注册与服务发现;响应于服务消费者发送的服务调用请求,利用Kubernetes API根据注册列表查取服务列表,创建服务消费者与服务列表中目标服务提供者的服务调用连接,以实现服务消费者对目标服务提供者的快速远程服务调用;利用GraalVM的native

【技术实现步骤摘要】
基于云原生的服务治理方法、装置及存储介质


[0001]本申请涉及计算机
,尤其涉及到一种基于云原生的服务治理方法、装置及存储介质。

技术介绍

[0002]随着云原生技术的不断发展,以Kubernetes为代表的容器技术成为云计算新界面。目前多数企业在尝试引入Kubernetes容器管理技术,并逐步将服务治理迁移到Kubernetes管理的容器运行。
[0003]在基于云原生进行服务治理时,目前普遍采用在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列功能。然而,就Dubbo服务框架而言,但部署在kubernetes集群中需要重复注册,即注册zookeeper/eureka/nacos中且在kubernetes集群Etcd也重复注册。并且,Dubbo服务框架在运行时使用动态代理和字节码动态生成客户端代理,对未来云原生支持不了,另外就是依赖三方的包比较多,对跨语言支持不友好,进而导致服务治理效果不佳。

技术实现思路

[0004]有鉴于此,本申请提供了一种基于云原生的服务治理方法、装置及存储介质,可用于解决目前在基于云原生进行服务治理时,服务注册发现在云原生中需要重复注册,现有服务框架无法支持云原生,以及依赖三方的包比较多,对跨语言支持不友好,进而导致服务治理效果不佳的技术问题。
[0005]有鉴于此,本申请提供了一种基于云原生的服务治理方法,应用于云原生服务治理框架,所述云原生服务治理框架为引入了云原生微服务平台的Microwave Framework框架和Thrift框架,所述方法包括:
[0006]利用所述云原生微服务平台接收服务提供者的服务信息,并基于所述服务信息生成注册列表,所述云原生微服务平台是基于Kubernetes云管理平台以及JSR

269技术构建在机器内部的,用于实现服务注册与服务发现,所述机器包括物理机和/或虚拟机;
[0007]响应于服务消费者发送的服务调用请求,利用Kubernetes API根据所述注册列表查取服务列表,所述服务调用请求中携带有待创建连接的目标服务类型,所述服务列表中包含与所述目标服务类型匹配的目标服务提供者;
[0008]利用所述云原生微服务平台创建所述服务消费者与所述目标服务提供者的服务调用连接,以基于所述服务调用连接实现所述服务消费者对所述目标服务提供者的快速远程服务调用;
[0009]利用GraalVM的native

image命令构建所述服务提供者和所述服务消费者的本地原生可执行代码,将所述本地原生可执行代码部署运行在所述云原生微服务平台上,用于降低所述服务提供者和所述服务消费者的运行内存,实现所述云原生微服务平台中的快速动态弹性扩缩容。
[0010]可选地,在利用所述云原生微服务平台接收服务提供者的服务信息,并基于所述服务信息生成注册列表之前,还包括:
[0011]编写Thrift IDL文件并生成约定接口代码,将所述约定接口代码存储至私服仓库,以便所述服务提供者和所述服务提供者通过在所述私服仓库中导入所述约定接口代码,实现对所述云原生服务治理框架的依赖配置,以在所述云原生服务治理框架中部署基于JSR 269AbstractProcessor API生成的第一服务治理代码和第二服务治理代码,其中,所述第一服务治理代码用于支持所述服务提供者在所述云原生服务治理框架中的服务暴露,所述第二服务治理代码用于支持所述服务消费者利用所述Kubernetes API进行对所暴露服务的远程调用。
[0012]可选地,所述服务信息包括:本机IP地址、端口信息和服务类型,基于所述服务信息生成注册列表,包括:
[0013]利用Kubernetes API将所述服务提供者的本机IP地址、端口信息和服务类型,发送至Kubernetes的Ectd注册中心,利用所述Ectd注册中心生成包含至少一个服务提供者对应实例节点的注册列表。
[0014]可选地,所述服务调用请求中携带有待创建连接的目标服务类型;
[0015]所述响应于服务消费者发送的服务调用请求,利用Kubernetes API在所述注册列表中查取服务列表,包括:
[0016]调用Kubernetes API在所述Ectd注册中心所包含的注册列表中查取与所述目标服务类型匹配的服务列表,所述服务列表包含至少一个服务提供者的本机IP地址、端口信息。
[0017]可选地,在所述利用所述云原生微服务平台创建所述服务消费者与所述目标服务提供者的服务调用连接之前,还包括:
[0018]根据所述本机IP地址和所述端口信息以及所述云原生服务治理框架中预设的负载均衡策略,在所述服务列表中筛选出与所述服务消费者创建服务调用连接的目标服务提供者。
[0019]可选地,在利用所述云原生微服务平台创建所述服务消费者与所述目标服务提供者的服务调用连接之后,还包括:
[0020]利用所述Thrift框架根据所述服务调用连接以及Thrift原生协议,远程调用所述目标服务提供者。
[0021]可选地,所述方法还包括:
[0022]利用所述云原生微服务平台接收所述注册列表中各个服务提供者上传的心跳状态信息,并根据所述心跳状态信息确定异常服务提供者,在所述注册列表中剔除所述异常服务提供者。
[0023]根据本申请的另一个方面,提供了一种基于云原生的服务治理装置,应用于云原生服务治理框架,所述云原生服务治理框架为引入了云原生微服务平台的Microwave Framework框架和Thrift框架,所述装置包括:
[0024]第一生成模块,用于利用所述云原生微服务平台接收服务提供者的服务信息,并基于所述服务信息生成注册列表,所述云原生微服务平台是基于Kubernetes云管理平台以及JSR

269技术构建在机器内部的,用于实现服务注册与服务发现,所述机器包括物理机
和/或虚拟机;
[0025]查取模块,用于响应于服务消费者发送的服务调用请求,利用Kubernetes API根据所述注册列表查取服务列表,所述服务调用请求中携带有待创建连接的目标服务类型,所述服务列表中包含与所述目标服务类型匹配的目标服务提供者;
[0026]创建模块,用于利用所述云原生微服务平台创建所述服务消费者与所述目标服务提供者的服务调用连接,以基于所述服务调用连接实现所述服务消费者对所述目标服务提供者的快速远程服务调用;
[0027]第二生成模块,用于利用GraalVM的native

image命令生成所述服务提供者和所述服务消费者的本地原生可执行代码,将所述本地原生可执行代码部署运行在所述云原生微服务平台上,用于降低所述服务提供者和所述服务消费者的运行内存,实现所述云原生微服务平台中的快速动态弹性扩缩容。
[0028]可选地,所述装置还包括:部署模块;
[0029]所述部署模块,用于编写本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云原生的服务治理方法,其特征在于,应用于云原生服务治理框架,所述云原生服务治理框架为引入了云原生微服务平台的Microwave Framework框架和Thrift框架,所述方法包括:利用所述云原生微服务平台接收服务提供者的服务信息,并基于所述服务信息生成注册列表,所述云原生微服务平台是基于Kubernetes云管理平台以及JSR

269技术构建在机器内部的,用于实现服务注册与服务发现,所述机器包括物理机和/或虚拟机;响应于服务消费者发送的服务调用请求,利用KubernetesAPI根据所述注册列表查取服务列表,所述服务调用请求中携带有待创建连接的目标服务类型,所述服务列表中包含与所述目标服务类型匹配的目标服务提供者;利用所述云原生微服务平台创建所述服务消费者与所述目标服务提供者的服务调用连接,以基于所述服务调用连接实现所述服务消费者对所述目标服务提供者的快速远程服务调用;利用GraalVM的native

image命令构建所述服务提供者和所述服务消费者的本地原生可执行代码,将所述本地原生可执行代码部署运行在所述云原生微服务平台上,用于降低所述服务提供者和所述服务消费者的运行内存,实现所述云原生微服务平台中的快速动态弹性扩缩容。2.根据权利要求1所述的方法,其特征在于,在利用所述云原生微服务平台接收服务提供者的服务信息,并基于所述服务信息生成注册列表之前,还包括:编写Thrift IDL文件并生成约定接口代码,将所述约定接口代码存储至私服仓库,以便所述服务提供者和所述服务提供者通过在所述私服仓库中导入所述约定接口代码,实现对所述云原生服务治理框架的依赖配置,以在所述云原生服务治理框架中部署基于JSR 269AbstractProcessorAPI生成的第一服务治理代码和第二服务治理代码,其中,所述第一服务治理代码用于支持所述服务提供者在所述云原生服务治理框架中的服务暴露,所述第二服务治理代码用于支持所述服务消费者利用所述KubernetesAPI进行对所暴露服务的远程调用。3.根据权利要求1所述的方法,其特征在于,所述服务信息包括:本机IP地址、端口信息和服务类型,基于所述服务信息生成注册列表,包括:利用KubernetesAPI将所述服务提供者的本机IP地址、端口信息和服务类型,发送至Kubernetes的Ectd注册中心,利用所述Ectd注册中心生成包含至少一个服务提供者对应实例节点的注册列表。4.根据权利要求3所述的方法,其特征在于,所述服务调用请求中携带有待创建连接的目标服务类型;所述响应于服务消费者发送的服务调用请求,利用KubernetesAPI在所述注册列表中查取服务列表,包括:调用Kubernetes API在所述Ectd注册中心所包含的注册列表中查...

【专利技术属性】
技术研发人员:赵保新周晓波沈鹏
申请(专利权)人:北京健康之家科技有限公司
类型:发明
国别省市:

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

1