一种服务网络按服务卸载的方法及装置制造方法及图纸

技术编号:39677919 阅读:7 留言:0更新日期:2023-12-11 18:55
本发明专利技术提供一种服务网络按服务卸载的方法及装置,包括:在

【技术实现步骤摘要】
一种服务网络按服务卸载的方法及装置


[0001]本专利技术涉及网络
,尤其涉及一种服务网络按服务卸载的方法及装置


技术介绍

[0002]服务网格
(Service Mesh)
为用于云原生微服务间通信的基础设施层,负责微服务间的网络通信,并维护彼此连接

当前微服务系统中,服务网格大都采用在主机侧部署边车或集中式服务网格的模式

[0003]如图1所示,最初服务网格采用在主机侧部署边车的模式,需为每个微服务配置一个边车,将网络提取出来,以使得服务开发更方便简单

但是,服务网格作为边车,会大量占用主机侧的资源,包括内存
、CPU
等,压缩了业务可部署的数量,大幅度降低微服务时延和流量处理效率

[0004]基于边车部署模式的缺陷,提出了集中式服务网格模式,该模式中,所有微服务共享一个服务网格,因此可以大量减少主机资源,提高一部分时延和效率

同时,也考虑到服务网格能够提供丰富的流量治理,但它是以牺牲时延为代价的,无法适用于金融

银行等要求极低时延的场景,由此,相关行业领域也衍生出集中式服务网格,更进一步地将服务网格卸载到硬件,以进行加速

服务网格集中式地卸载到数据处理单元
(Data Processing Unit

DPU)
上,将代理组件
(Envoy)
从主机侧下沉到
DPU<br/>上,负责主机侧微服务间的网络通信以及进出微服务的流量控制

代理组件可服务主机侧所有的服务,且不需要占用主机侧的资源,提高主机侧微服务部署数量以及主机侧资源利用率,更重要的是,流量无需上送主机侧即可在
DPU
上分发到主机侧某个微服务,或转发到其他设备上,从而大幅度提高网络延时和转发效率

但该模式中,所有的服务流量处理均集中在一个
Envoy
中处理,当业务规模不断上升时,
Envoy
的处理能力会成为转发瓶颈,无法支撑大带宽流量

同时,一个集中式的
Envoy
面向整个集群,粒度太粗,无法提供如针对某服务或某付费用户提供高带宽高网速等差异化服务


技术实现思路

[0005]鉴于此,本专利技术实施例提供了一种服务网络按服务卸载的方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决现有集中式服务网格模式无法支持大规模云网络场景,以及一个代理组件面向整个集群,粒度太粗而导致服务质量低的问题

[0006]一方面,本专利技术提供了一种服务网络按服务卸载的方法,其特征在于,包括以下步骤:
[0007]在
Kubernetes
集群内安装并部署数据处理单元容器网络接口;
[0008]利用所述容器网络接口收集所述
Kubernetes
集群内各服务的服务
IP
以及对应的集群基本单元
IP
;根据所述服务
IP
和所述集群基本单元
IP
设置规则表,并将所述规则表下发至数据处理单元的协议栈规则表中;
[0009]所述数据处理单元根据所述规则表中的规则,为每个服务启动一个代理组件;
[0010]客户端访问特定服务
IP
,当访问请求到达所述数据处理单元,根据所述规则表,确定所述特定服务对应的代理组件,将流量上送至所述代理组件进行处理

[0011]在一些实施例中,利用所述容器网络接口收集所述
Kubernetes
集群内各服务的服务
IP
以及对应的集群基本单元
IP
,所述方法还包括:
[0012]通过所述
Kubernetes
集群的应用程序编程接口查询服务列表和节点列表,以获取每个服务的服务
IP
和对应的集群基本单元
IP。
[0013]在一些实施例中,将所述规则表下发至数据处理单元的协议栈规则表中,所述方法还包括:
[0014]下发方式采用配置管理工具

命令行工具或应用程序编程接口中的一种进行下发操作;在下发所述规则表之后,对所述规则表进行验证

[0015]在一些实施例中,在
Kubernetes
集群内安装并部署数据处理单元容器网络接口的同时,所述方法还包括:
[0016]定义客户端用户接口,根据服务优先级配置对应的代理组件基础资源;其中,优先级较高的服务配置较多个中央处理器,优先级较低的服务配置较少个中央处理器

[0017]在一些实施例中,在利用代理组件处理特定服务的流量之前,根据所述流量的五元组匹配对应的特定服务,以将所述流量上送至所述特定服务对应的代理组件;所述五元组包括源
IP
地址

目的
IP
地址

源端口号

目的端口号和传输层协议

[0018]在一些实施例中,根据所述流量的五元组匹配对应的特定服务,所述方法还包括:
[0019]对于进入所述数据处理单元,且目的地为所述服务
IP
的流量,直接匹配相应的服务,并将所述流量上送至对应的代理组件;
[0020]对于进入所述数据处理单元,且目的地为服务对应的集群基本单元
IP
的流量,根据所述集群基本单元
IP
确定所属的服务
IP
,将所述流量上送至对应的代理组件;
[0021]当一个服务对应多个集群基本单元时,通过所述容器网络接口在所述
Kubernetes
集群内收集服务
IP
与多个集群基本单元的关系对应表,将所述关系对应表下发至所述数据处理单元

[0022]在一些实施例中,当所述特定服务被删除时,所述方法还包括:
[0023]所述容器网络接口向所述数据处理单元发送规则删除消息,删除所述规则表中所述特定服务相关的规则,并删除所述特定服务对应的代理组件

[0024]在一些实施例中,所述方法还包括:
[0025]定期监测所述容器网络接口与所述代理组件之间配置通路是否有效,以感知所述代理组件是否发生故障;
[0026]当所述代理组件故障时,所述容器网络接口将所述代理组件处理的流量暂交至预设的其他代理组件处理

[0027]另一方面,本专利技术提供一种服务网络按服务卸载的装置,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如上文中提及的任意一项所述服务网络按服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种服务网络按服务卸载的方法,其特征在于,包括以下步骤:在
Kubernetes
集群内安装并部署数据处理单元容器网络接口;利用所述容器网络接口收集所述
Kubernetes
集群内各服务的服务
IP
以及对应的集群基本单元
IP
;根据所述服务
IP
和所述集群基本单元
IP
设置规则表,并将所述规则表下发至数据处理单元的协议栈规则表中;所述规则表包含所述服务
IP
与所述集群基本单元
IP
的映射关系,以及所述服务
IP
与其特定代理组件的映射关系;所述数据处理单元根据所述规则表中所述服务
IP
与其特定代理组件的映射关系,为每个服务启动一个特定的代理组件;客户端访问特定服务
IP
,当访问请求到达所述数据处理单元,根据所述规则表,确定所述特定服务对应的代理组件,将流量上送至所述代理组件进行处理
。2.
根据权利要求1所述的服务网络按服务卸载的方法,其特征在于,利用所述容器网络接口收集所述
Kubernetes
集群内各服务的服务
IP
以及对应的集群基本单元
IP
,所述方法还包括:通过所述
Kubernetes
集群的应用程序编程接口查询服务列表和节点列表,以获取每个服务的服务
IP
和对应的集群基本单元
IP。3.
根据权利要求1所述的服务网络按服务卸载的方法,其特征在于,将所述规则表下发至数据处理单元的协议栈规则表中,所述方法还包括:下发方式采用配置管理工具

命令行工具或应用程序编程接口中的一种进行下发操作;在下发所述规则表之后,对所述规则表进行验证
。4.
根据权利要求1所述的服务网络按服务卸载的方法,其特征在于,在
Kubernetes
集群内安装并部署数据处理单元容器网络接口的同时,所述方法还包括:定义客户端用户接口,根据服务优先级配置对应的代理组件基础资源;其中,优先级较高的服务配置较多个中央处理器,优先级较低的服务配置较少个中央处理器
。5.

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

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

1