微服务流量处理方法、DPU服务网格部署方法及系统技术方案

技术编号:37707495 阅读:14 留言:0更新日期:2023-06-01 23:57
本申请提供一种微服务流量处理方法、DPU服务网格部署方法及系统,方法包括:在自身所在工作节点中与互为备份的其他服务网格数据面组件分别接收控制面发送的配置信息;接收主机侧的微服务流量数据并动态建立TCP会话数据,根据配置信息处理微服务流量数据;将TCP会话数据发送至互为备份的其他服务网格数据面组件中存储,接收并存储互为备份的其他服务网格数据面组件发送的TCP会话数据。本申请通过部署多服务网格数据面组件,能够有效保证主机侧微服务与外部的通信可靠性,并能够有效提高服务网格的资源利用率,并能够提高DPU侧服务网格的应用可靠性及稳定性,满足高可靠性、低时延的场景应用需求。时延的场景应用需求。时延的场景应用需求。

【技术实现步骤摘要】
微服务流量处理方法、DPU服务网格部署方法及系统


[0001]本申请涉及数据处理
,尤其涉及微服务流量处理方法、DPU服务网格部署方法及系统。

技术介绍

[0002]服务网格(Service Mesh)是云服务中的一个基础设施层,专注于实现微服务间服务请求的可靠传递,并在其基础上提供服务发现、负载均衡、请求路由和规则配置等流量控制层面操作。在服务网格中,原生的七层代理,例如共享代理容器Envoy,也即一种常见的服务网格数据面组件,它能够提供动态服务发现以及负载均衡的能力,同时支持TLS连接,可以代理HTTP/1.1&HTTP/2&gRPC等协议。同时支持熔断器、流量拆分及故障注入等能力和丰富的度量指标。引入服务网格数据面组件后,微服务只需关注业务本身处理,不需要对网络功能、负载均衡等进行处理,大幅降低了业务开发周期和成本。相应的,七层代理会消耗CPU的算力来处理网络协议等基础设施层服务,增加数据转发时延。目前,业界开始尝试在DPU(Data Process Unit)智能网卡将七层代理以网关模式卸载到智能网卡的ARM核上,需采用八个ARM核中的六个来做七层代理卸载以支持100G网卡上的流量。
[0003]在实践中,微服务应用部署在主机侧;服务网格部署在DPU上,对应用程序透明,负责微服务对外通信。用户将服务通信及相关管控功能从业务中分离到基础设施层服务网格上,使其和业务系统完全解耦。如图1所示,以基于DPU的用于连接、管理和保护微服务的开放平台Istio和共享代理容器Envoy的分布式云原生服务网格实现为例,对DPU上服务网格进行简单描述。Istio Control Plane是常见的服务网格控制面。服务网格控制面的进程通过K8s服务(Kubernetes service)API获取K8s集群(Kubernetescluster)的全量动态部署和CRD配置,并发送相关流量控制策略等配置到DPU上服务Envoy。Envoy根据接收到的监听、路由、节点、权重等配置信息对服务请求进行实际的流量转发。
[0004]然而,当前的方法中存在较为明显的缺点:在DPU上部署的服务网格,其上存放控制面下发的策略等配置信息,用于对出入主机侧微服务流量控制及转发;同时还存放动态数据,如服务网格与微服务间、以及它与外部服务间的TCP会话(TCP Session)信息。如果服务网格失效了,主机侧的微服务与外部无法进行通信,此时到达DPU的流量也会被丢掉。服务网格恢复后,也需要先从控制面拉取配置,并与微服务及外部重新建立TCP连接后,流量才能够被正确分发与转发。此过程耗时较长(秒级以上),无法满足高可靠性、低时延需求,如5G通信、线上快速交易等相关场景。

技术实现思路

[0005]鉴于此,本申请实施例提供了微服务流量处理方法、DPU服务网格部署方法及系统,以消除或改善现有技术中存在的一个或更多个缺陷。
[0006]本申请的一个方面提供了一种微服务流量处理方法,包括:
[0007]在自身所在的DPU对应的K8s集群内的工作节点中,与自身互为备份的其他服务网
格数据面组件分别接收控制面发送的配置信息;
[0008]接收主机侧的微服务流量数据并动态建立TCP会话数据,并根据所述配置信息处理对应的微服务流量数据,其中,所述DPU中的各个所述服务网格数据面组件分别用于处理主机侧不同的微服务流量数据;
[0009]将所述TCP会话数据发送至与自身互为备份的其他服务网格数据面组件中进行存储,以及,接收并存储与自身互为备份的其他服务网格数据面组件发送的TCP会话数据。
[0010]在本申请的一些实施例中,还包括:
[0011]若与自身互为备份的其他服务网格数据面组件当前处于失效状态,则在本地调取预存储的失效的服务网格数据面组件对应的TCP会话数据,代为处理该失效的服务网格数据面组件的微服务流量数据。
[0012]在本申请的一些实施例中,还包括:
[0013]若与自身互为备份的其他服务网格数据面组件从所述失效状态变更为有效状态,则将本地预存储的该服务网格数据面组件的TCP会话数据和所述配置信息发送至该服务网格数据面组件,以使该服务网格数据面组件恢复处理对应的微服务流量数据。
[0014]在本申请的一些实施例中,所述配置信息包括:流量控制策略。
[0015]本申请的另一个方面提供了一种DPU服务网格部署方法,包括:
[0016]在DPU对应的K8s集群内的各个工作节点中分别部署互为备份的至少两个服务网格数据面组件,且每个所述服务网格数据面组件均接收并存储控制面发送的配置信息;
[0017]将各个所述服务网格数据面组件分别与主机侧不同的微服务进行绑定,以使各个所述服务网格数据面组件分别基于自身对应的微服务流量数据动态建立TCP会话数据,并根据所述配置信息处理对应的微服务流量数据;
[0018]将每个所述服务网格数据面组件动态建立的TCP会话数据均发送至与该服务网格数据面组件互为主备的其他服务网格数据面组件中进行存储,以在任一服务网格数据面组件失效时,由与失效的服务网格数据面组件互为备份的其他服务网格数据面组件代为处理该失效的服务网格数据面组件对应的微服务流量数据。
[0019]在本申请的一些实施例中,所述DPU服务网格部署方法还包括:
[0020]若原失效服务网格数据面组件当前从失效状态变更为有效状态,则代为处理该原失效服务网格数据面组件的微服务流量数据的另一服务网格数据面组件,将本地预存储的该原失效服务网格数据面组件的TCP会话数据和所述配置信息发送至该原失效服务网格数据面组件,以使该原失效服务网格数据面组件恢复处理对应的微服务流量数据。
[0021]本申请的第三个方面提供了一种服务网格数据面组件,包括:
[0022]配置信息接收模块,用于在自身所在的DPU对应的K8s集群内的工作节点中,与自身互为备份的其他服务网格数据面组件分别接收控制面发送的配置信息;
[0023]微服务流量处理模块,用于接收主机侧的微服务流量数据并动态建立TCP会话数据,并根据所述配置信息处理对应的微服务流量数据,其中,所述DPU中的各个所述服务网格数据面组件分别用于处理主机侧不同的微服务流量数据;
[0024]TCP会话备份模块,用于将所述TCP会话数据发送至与自身互为备份的其他服务网格数据面组件中进行存储,以及,接收并存储与自身互为备份的其他服务网格数据面组件发送的TCP会话数据。
[0025]在本申请的一些实施例中,所述服务网格数据面组件还包括:
[0026]备份接管模块,用于若与自身互为备份的其他服务网格数据面组件当前处于失效状态,则在本地调取预存储的失效的服务网格数据面组件对应的TCP会话数据,代为处理该失效的服务网格数据面组件的微服务流量数据。
[0027]在本申请的一些实施例中,所述服务网格数据面组件还包括:
[0028]恢复处理模块,用于若与自身互为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务流量处理方法,其特征在于,包括:在自身所在的DPU对应的K8s集群内的工作节点中,与自身互为备份的其他服务网格数据面组件分别接收控制面发送的配置信息;接收主机侧的微服务流量数据并动态建立TCP会话数据,并根据所述配置信息处理对应的微服务流量数据,其中,所述DPU中的各个所述服务网格数据面组件分别用于处理主机侧不同的微服务流量数据;将所述TCP会话数据发送至与自身互为备份的其他服务网格数据面组件中进行存储,以及,接收并存储与自身互为备份的其他服务网格数据面组件发送的TCP会话数据。2.根据权利要求1所述的微服务流量处理方法,其特征在于,还包括:若与自身互为备份的其他服务网格数据面组件当前处于失效状态,则在本地调取预存储的失效的服务网格数据面组件对应的TCP会话数据,代为处理该失效的服务网格数据面组件的微服务流量数据。3.根据权利要求2所述的微服务流量处理方法,其特征在于,还包括:若与自身互为备份的其他服务网格数据面组件从所述失效状态变更为有效状态,则将本地预存储的该服务网格数据面组件的TCP会话数据和所述配置信息发送至该服务网格数据面组件,以使该服务网格数据面组件恢复处理对应的微服务流量数据。4.根据权利要求1至3任一项所述的微服务流量处理方法,其特征在于,所述配置信息包括:流量控制策略。5.一种DPU服务网格部署方法,其特征在于,包括:在DPU对应的K8s集群内的各个工作节点中分别部署互为备份的至少两个服务网格数据面组件,且每个所述服务网格数据面组件均接收并存储控制面发送的配置信息;将各个所述服务网格数据面组件分别与主机侧不同的微服务进行绑定,以使各个所述服务网格数据面组件分别基于自身对应的微服务流量数据动态建立TCP会话数据,并根据所述配置信息处理对应的微服务流量数据;将每个所述服务网格数据面组件动态建立的TCP会话数据均发送至与该服务网格数据面组件互为主备的其他服务网格数据面组件中进行存储,以在任一服务网格数据面组件失效时,由与失效的服务网格数据面组件互为备份的其他服务网格数据面组件代为处理该失效的服务网格数据面组件对应的微服务流量数据。6.根据权利要求5所述的DPU服务网格部...

【专利技术属性】
技术研发人员:荆慧黄明亮
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

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

1