一种微服务调用方法、装置、电子设备及存储介质制造方法及图纸

技术编号:29583634 阅读:17 留言:0更新日期:2021-08-06 19:41
本申请提供了一种微服务调用方法、装置、电子设备及存储介质,所述方法应用于第一应用程序,包括:获取微服务调用请求,所述微服务调用请求用于请求访问第二应用程序,所述第二应用程序不同于所述第一应用程序;根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则;按照所述路由规则,将所述微服务调用请求发送至所述第二应用程序。通过本申请的方法,云环境中的微服务应用可在不依赖K8s系统的情况下根据预先设置的路由规则实现对其它任意的微服务应用的调用,提升了微服务应用之间的交互性能,优化了用户体验。

【技术实现步骤摘要】
一种微服务调用方法、装置、电子设备及存储介质
本专利技术涉及数据处理
,特别是涉及一种微服务调用方法、装置、电子设备及存储介质。
技术介绍
随着K8s(KUBERNETES,开源的自动化部署管理系统,它将组成应用程序的容器分组到逻辑单元中,以便于管理和发现)成为云原生领域应用编排的标准,传统企业及新型互联网企业都在逐步将应用容器化及云化。为了实现高并发和高可用,企业通常会将应用部署在多集群甚至多云、混合云等多种环境中,因此,多集群方案逐步成为企业应用部署的最佳选择。目前,很多云厂商都推出了自己的多云、混合云方案,虽然都提供了多集群管理及跨集群的服务访问能力,但是在服务治理方面都有所欠缺。例如istio(一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里,也是一个平台,拥有可以集成任何日志、遥测和策略系统的API接口)原生提供的跨集群服务治理方案均对K8s集群的各项能力有较强的依赖性,无法脱离K8s集群而存在。再例如腾讯TSF(TencentServiceFramework,一个围绕应用和微服务的PaaS平台)平台仅仅支持网络互通的集群之间的微服务调用,对于集群之间网络不互通的服务治理方案暂不支持。
技术实现思路
本申请提供了一种微服务调用方法、装置、电子设备及存储介质,可在不依赖K8s系统的情况下根据预先设置的路由规则实现对其它任意的微服务应用的调用(包括跨集群的调用),提升了微服务应用之间的交互性能。本申请第一方面提供了一种微服务调用方法,应用于第一应用程序,所述方法包括:获取微服务调用请求,所述微服务调用请求用于请求访问第二应用程序,所述第二应用程序不同于所述第一应用程序;根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则;按照所述路由规则,将所述微服务调用请求发送至所述第二应用程序。可选地,所述第一应用程序位于第一集群内;根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则,包括:在所述第二应用程序位于所述第一集群内时,确定本地路由规则为与所述微服务调用请求匹配的路由规则;在所述第二应用程序位于第二集群内时,确定跨集群路由规则为与所述微服务调用请求匹配的路由规则,所述第二集群不同于所述第一集群。可选地,在获取微服务调用请求之前,所述方法还包括:根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则;在所述第二应用程序位于第二集群内时,确定跨集群路由规则为与所述微服务调用请求匹配的路由规则,包括:在所述第二应用程序位于第二集群内时,确定跨集群路由规则为定义的所述iptables规则。可选地,所述第一集群内包括至少一个pod模块,所述第一应用程序位于所述pod模块中;根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则,包括:在所述pod模块中,根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则。可选地,所述第二集群的地址信息为所述第二集群所在的网段信息,所述第二应用程序的地址信息为所述第二应用程序在所述第二集群内的宿主机的IP地址;根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则,包括:根据所述第二集群所在的网段信息,和所述第二应用程序在所述第二集群内的宿主机的IP地址,定义iptables规则。可选地,根据所述第二集群所在的网段信息,和所述第二应用程序在所述第二集群内的宿主机的IP地址,定义iptables规则,包括:采用目的地址转换命令,利用所述第一集群和所述第二集群各自所在的网段信息、所述第二应用程序在所述第二集群内的宿主机的IP地址定义用于访问所述第二应用程序的iptables规则。可选地,所述第一集群和所述第一集群均为基于K8s系统的集群,所述K8s系统采用istio作为服务网格,所述pod模块采用边车模式服务于所述pod模块中的各个应用程序。本申请第三方面提供了一种微服务调用装置,应用于第一应用程序,所述装置包括:获取模块,用于获取微服务调用请求,所述微服务调用请求用于请求访问第二应用程序,所述第二应用程序不同于所述第一应用程序;确定模块,用于根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则;发送模块,用于按照所述路由规则,将所述微服务调用请求发送至所述第二应用程序。可选地,所述第一应用程序位于第一集群内;所述确定模块包括:第一确定子模块,用于在所述第二应用程序位于所述第一集群内时,确定本地路由规则为与所述微服务调用请求匹配的路由规则;第二确定子模块,用于在所述第二应用程序位于第二集群内时,确定跨集群路由规则为与所述微服务调用请求匹配的路由规则,所述第二集群不同于所述第一集群。可选地,所述装置还包括:定义模块,用于根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则;所述第二确定子模块包括:第三确定子模块,用于在所述第二应用程序位于第二集群内时,确定跨集群路由规则为定义的所述iptables规则。可选地,所述第一集群内包括至少一个pod模块,所述第一应用程序位于所述pod模块中;所述第三确定子模块包括:第一定义子模块,用于在所述pod模块中,根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则。可选地,所述第二集群的地址信息为所述第二集群所在的网段信息,所述第二应用程序的地址信息为所述第二应用程序在所述第二集群内的宿主机的IP地址;所述定义模块或所述第一定义子模块包括:第二定义子模块,用于根据所述第二集群所在的网段信息,和所述第二应用程序在所述第二集群内的宿主机的IP地址,定义iptables规则。可选地,所述第二定义子模块包括:第三定义子模块,用于采用目的地址转换命令,利用所述第一集群和所述第二集群各自所在的网段信息、所述第二应用程序在所述第二集群内的宿主机的IP地址定义用于访问所述第二应用程序的iptables规则。可选地,所述第一集群和所述第一集群均为基于K8s系统的集群,所述K8s系统采用istio作为服务网格,所述pod模块采用边车模式服务于所述pod模块中的各个应用程序。本申请第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的微服务调用方法中的步骤。本申请第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的微服务调用方法的步骤。通过本申请的微服务调用方法,第一应用程序首先获取微服务调用请求,该微服务调用请求用于请求访问第二应用程序,第二应用程序不同于第一应用程序。接着,根据第二应用程序的地址信息,确定与本文档来自技高网...

【技术保护点】
1.一种微服务调用方法,其特征在于,应用于第一应用程序,所述方法包括:/n获取微服务调用请求,所述微服务调用请求用于请求访问第二应用程序,所述第二应用程序不同于所述第一应用程序;/n根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则;/n按照所述路由规则,将所述微服务调用请求发送至所述第二应用程序。/n

【技术特征摘要】
1.一种微服务调用方法,其特征在于,应用于第一应用程序,所述方法包括:
获取微服务调用请求,所述微服务调用请求用于请求访问第二应用程序,所述第二应用程序不同于所述第一应用程序;
根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则;
按照所述路由规则,将所述微服务调用请求发送至所述第二应用程序。


2.根据权利要求1所述的方法,其特征在于,所述第一应用程序位于第一集群内;根据所述第二应用程序的地址信息,确定与所述微服务调用请求匹配的路由规则,包括:
在所述第二应用程序位于所述第一集群内时,确定本地路由规则为与所述微服务调用请求匹配的路由规则;
在所述第二应用程序位于第二集群内时,确定跨集群路由规则为与所述微服务调用请求匹配的路由规则,所述第二集群不同于所述第一集群。


3.根据权利要求2所述的方法,其特征在于,在获取微服务调用请求之前,所述方法还包括:
根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则;
在所述第二应用程序位于第二集群内时,确定跨集群路由规则为与所述微服务调用请求匹配的路由规则,包括:
在所述第二应用程序位于第二集群内时,确定跨集群路由规则为定义的所述iptables规则。


4.根据权利要求3所述的方法,其特征在于,所述第一集群内包括至少一个pod模块,所述第一应用程序位于所述pod模块中;
根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则,包括:
在所述pod模块中,根据所述第二集群的地址信息和所述第二应用程序的地址信息,定义iptables规则。


5.根据权利要求3或4所述的方法,其特征在于,所述第二集群的地址信息为所述第二集群所在的网段信息,所述第二应...

【专利技术属性】
技术研发人员:李综瑶张玮
申请(专利权)人:上海安畅网络科技股份有限公司
类型:发明
国别省市:上海;31

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

1