CN116048538B - 用于dpu的服务网格部署方法及装置 - Google Patents
用于dpu的服务网格部署方法及装置 Download PDFInfo
- Publication number
- CN116048538B CN116048538B CN202310070163.6A CN202310070163A CN116048538B CN 116048538 B CN116048538 B CN 116048538B CN 202310070163 A CN202310070163 A CN 202310070163A CN 116048538 B CN116048538 B CN 116048538B
- Authority
- CN
- China
- Prior art keywords
- service grid
- grid
- main service
- service
- configuration information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000008859 change Effects 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000011084 recovery Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- -1 AWS Nitro Chemical class 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 125000000449 nitro group Chemical class [O-][N+](*)=O 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种用于DPU的服务网格部署方法及装置,方法包括:将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格;若当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的配置信息和动态数据进行流量数据处理。本申请能够有效提高DPU上服务网格的应用可靠性及稳定性,能够有效提高服务网格失效的获知效率,并能够有效提高微服务业务恢复的效率及可靠性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及用于DPU的服务网格部署方法及装置。
背景技术
数据处理单元或专用数据处理器DPU(Data Processing Unit)是以数据为中心、I/O密集型、采用软件定义技术路线支撑基础设施资源层虚拟化,具备提升计算系统效率、降低整体系统的总拥有成本,并提高数据处理效能、降低其他计算芯片性能损耗的新一代计算芯片。DPU最直接的作用是作为CPU的卸载引擎,接管网络虚拟化、硬件资源池化等基础设施层服务,释放CPU的算力到上层应用。以网络协议处理为例,要线速处理10G的网络需要的大约四个Xeon CPU的核,也就是说,单是做网络数据包处理,就可以占去一个八核高端CPU一半的算力。如果考虑40G、100G的高速网络,性能的开销就更加难以承受了。Amazon把这些开销都称之为“数据中心税(Datacenter Tax)”,即还未运行业务程序,先接入网络数据就要占去的计算资源。AWS Nitro产品家族旨在将数据中心开销(为虚拟机提供远程资源,加密解密,故障跟踪,安全策略等服务程序)全部从CPU卸载到Nitro加速卡上,将给上层应用释放30%的原本用于支付“数据中心税”的算力。
服务网格(Service Mesh)是云服务中的一个基础设施层,专注于实现微服务间服务请求的可靠传递;在实践中,微服务应用部署在主机侧;服务网格部署在DPU上,对应用程序透明,负责微服务对外通信。然而,原生服务网格集中部署在主机侧时,并未考虑到服务网格可靠性问题,在集中式服务网格如Envoy故障时,会存在网络中断,流量丢包的问题。
发明内容
鉴于此,本申请实施例提供了用于DPU的服务网格部署方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种用于DPU的服务网格部署方法,包括:
将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格;
若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
在本申请的一些实施例中,在所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格之前,还包括:
采用各个所述主服务网格分别在DPU对应的K8s集群内的各个工作节点中接收并存储控制面发送的配置信息,并接收主机侧的微服务流量数据并生成对应的动态数据,以根据所述配置信息处理对应的微服务流量数据。
在本申请的一些实施例中,所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格,包括:
将各个所述主服务网格各自对应的所述配置信息和动态数据,批量同步至各个所述主服务网格分别对应的所述备服务网格进行存储。
在本申请的一些实施例中,所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格,包括:
在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至各个所述主服务网格分别对应的所述备服务网格进行存储。
在本申请的一些实施例中,所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格,包括:
将各个所述主服务网格各自对应的所述配置信息和动态数据,发送至预设的共享介质中进行存储,以使所述备服务网格在切换为新的主服务网格后,自该共享介质中获取所述配置信息和动态数据。
在本申请的一些实施例中,所述若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理,包括:
采用所述备服务网格与其对应的所述主服务网格之间发送心跳报文;
若所述备服务网格在预设时间阈值内未收到所述主服务网格发送的心跳报文,则确认该主服务网格变更为失效服务网格,所述备服务网格实时切换为新的主服务网格,并采用预存储的所述配置信息和所述动态数据进行流量数据处理。
在本申请的一些实施例中,所述若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理,包括:
基于预设的监控单元实时监控各个所述主服务网格的状态,若监控到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
在本申请的一些实施例中,还包括:
若所述失效服务网格当前恢复有效状态,则将该失效服务网格变更为新的备服务网格,以同步对应的主服务网格的所述配置信息和动态数据。
本申请的第二个方面提供了一种用于DPU的服务网格部署装置,包括:
数据同步模块,用于将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格;
主备切换模块,用于若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
本申请的第三个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的用于DPU的服务网格部署方法。
本申请的第四个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的用于DPU的服务网格部署方法。
本申请提供的用于DPU的服务网格部署方法,通过将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格;若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理,通过部署主备服务网格,能够有效保证主机侧微服务与外部的通信可靠性,能够有效提高DPU上服务网格的应用可靠性及稳定性,能够有效提高服务网格失效的获知效率,并能够有效提高微服务业务恢复的效率及可靠性,满足高可靠性、低时延的场景应用需求。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为基于Istio的分布式云原生服务网格的举例示意图。
图2为本申请一实施例中的用于DPU的服务网格部署方法的第一种流程示意图。
图3为本申请一实施例中的用于DPU的服务网格部署方法的第二种流程示意图。
图4为本申请另一实施例中的用于DPU的服务网格部署装置的结构示意图。
图5为本申请应用实例中的用于DPU的服务网格部署的一种举例示意图。
图6为本申请应用实例中的用于DPU的服务网格部署的另一种举例示意图。
图7为本申请应用实例中的用于DPU的服务网格部署中主备切换的举例示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
在服务网格中,原生的七层代理,例如共享代理容器Envoy,也即一种常见的服务网格数据面组件,它能够提供动态服务发现以及负载均衡的能力,同时支持TLS连接,可以代理HTTP/1.1&HTTP/2&gRPC等协议。同时支持熔断器、流量拆分及故障注入等能力和丰富的度量指标。引入服务网格数据面组件后,微服务只需关注业务本身处理,不需要对网络功能、负载均衡等进行处理,大幅降低了业务开发周期和成本。相应的,七层代理会消耗CPU的算力来处理网络协议等基础设施层服务,增加数据转发时延。目前,业界开始尝试在DPU(Data Process Unit)智能网卡将七层代理以网关模式卸载到智能网卡的ARM核上,需采用八个ARM核中的六个来做七层代理卸载以支持100G网卡上的流量。
如图1所示,以基于DPU的Istio+Envoy的服务网格实现为例,对DPU上服务网格进行简单描述。Istio是常见的服务网格控制面,Envoy是常见的服务网格数据面。Istio控制面进程通过Kubernetes service API获取Kubernetes cluster的全量动态部署和CRD配置,并发送相关流量控制策略等配置到DPU上服务网格Envoy。Envoy根据接收到的监听、路由、节点、权重等配置信息对服务请求进行实际的流量转发。
当前的方法中存在较为明显的缺点:
在DPU上部署的服务网格,其上存放控制面下发的策略等配置信息,用于对出入主机侧微服务流量控制及转发;同时还存放动态数据如TCP Session信息(服务网格与微服务间,以及它与外部服务间)。
如果服务网格失效了,主机侧微服务与外部将无法进行通信,此时到达DPU的流量也会被丢掉。服务网格恢复后,需要先从控制面拉取配置,并与微服务及外部重新建立TCP连接后,流量才能够被正确分发与转发。此过程耗时较长(秒级以上),无法满足高可靠性、低时延需求,如5G通信、线上快速交易等相关场景。
发明人服务网格研究时发现,原生服务网格集中部署在主机侧时,并未考虑到服务网格可靠性问题,在集中式服务网格如Envoy故障时,会存在网络中断,流量丢包的问题。Istio是常见的服务网格控制面,Envoy是常见的服务网格数据面,它们的部署基于Kubenetes网格架构,Kubenetes本身没有提供网关可靠性技术,出现问题重启容器来实现业务的恢复。服务网格集式部署并不通用,通用作法是在每个pod里部署sidecar容器来实现流量劫持、负载均衡、策略等服务。那么每台服务器上有多个(通常110个)pod的话,需要部署110个sidecar,已消耗了大量的CPU处理,不会再消耗更多的资源做可靠性保障。但服务网格卸载到DPU上,与pod是分离部署,只能从sidecar模式演变成集中式部署模式。需要对Kubenetes构架做二次开发才能支持DPU模式上部署服务网格,并加之DPU上资源有限,服务网格可靠性的问题并没有被解决。
发明人经过对可靠性技术的研究发现,达到高可靠性需求,可以通过在DPU上部署备服务网格的方法,实现故障检测并进行快速的无损的主备切换来解决。流量控制与转发都由主服务网格来处理,备服务网格不处理流量,它只在主服务网格失效,切换成主服务网格后,才接管流量处理,动态扩展资源的使用,保证备服务网格对资源的占用率。那么要达到快速无损的主备切换,备服务网格就需要实时与主服务网格达到同步。
主服务网格实时备份控制面下发的最新配置信息给备服务网格,备服务网格在切换时,无须向控制面索要配置信息即可从备份数据中恢复配置;主服务网格实时备份动态建立的TCP Session信息;备服务网格在切换时,无须重新建立TCP Session耗时动作即可转发到达的流量。以此达到高可靠性、低时延需求。
基于此,本申请的目的是解决现在DPU上服务网格可靠性问题,提出了一种DPU上高可靠性的主备服务网格部署方式,能快速探测某服务网格失效,并且可以快速恢复微服务业务。
具体通过下述实施例进行详细说明。
本申请实施例提供一种用于DPU的服务网格部署方法,参见图2,可以由用于DPU的服务网格部署装置执行的所述用于DPU的服务网格部署方法具体包含有如下内容:
步骤100:将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格。
可以理解的是,所述配置信息是指主服务网格处理微服务流量数据的依据,每一个主服务网格均接收全量的配置信息。以主备服务网格为例,主备服务网格都接收控制面下发的配置,各自都在全量的配置,无需进行备份。所述动态数据可以指TCP会话数据等。
在本申请的一个或多个实施例中,所述DPU中的每一个主服务网格均对应有备服务网格,具体可以为一对一或者多对一的关系,具体可以根据实际应用需求进行设置。
另外,主服务网格接收控制面的配置及其后的变化,需实时备份到备服务网格。新建、修改、删除TCP Session以及Session状态变化信息,需实时备份到备服务网格。
在步骤100中,处于非工作状态的备服务网格为主服务网格的备份,它不接收流量也不进行转发。它可实时接收主服务网格的备份信息如配置及变化,应用到自身的相关配置及策略上。接收TCP Session信息,但不与TCP邻居交互。
步骤200:若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
在步骤200中,需要实时监测主服务网格状态,在其失效时,备服务网格完成快速主备切换,无需再向控制面索要配置及重新建立TCP Session等耗时操作,即可对流量进行分发及转发,避免丢包,达成高可靠性及低时延的需求。
从上述描述可知,本申请实施例提供的用于DPU的服务网格部署方法,通过部署主备服务网格,能够有效保证主机侧微服务与外部的通信可靠性,能够有效提高DPU上服务网格的应用可靠性及稳定性,能够有效提高服务网格失效的获知效率,并能够有效提高微服务业务恢复的效率及可靠性,满足高可靠性、低时延的场景应用需求。
为了进一步提高用于DPU的服务网格部署的效率及可靠性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,参见图3,所述用于DPU的服务网格部署方法中的步骤100之前还具体包含有如下内容:
步骤010:采用各个所述主服务网格分别在DPU对应的K8s集群内的各个工作节点中接收并存储控制面发送的配置信息,并接收主机侧的微服务流量数据并生成对应的动态数据,以根据所述配置信息处理对应的微服务流量数据。
在本申请的一个或多个实施例中,每个所述工作节点(worker node)中均至少包含有至少两个主服务网格,即:至少一个主服务网格和备服务网格。其中,所述服务网格可以称之为共享代理容器Envoy。
为了进一步提高用于DPU的服务网格部署的可靠性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,参见图3,所述用于DPU的服务网格部署方法中的步骤100具体包含有如下内容:
步骤110:将各个所述主服务网格各自对应的所述配置信息和动态数据,批量同步至各个所述主服务网格分别对应的所述备服务网格进行存储。
为了进一步提高用于DPU的服务网格部署的可靠性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,参见图3,所述用于DPU的服务网格部署方法中的步骤100具体包含有如下内容:
步骤120:在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至各个所述主服务网格分别对应的所述备服务网格进行存储。
其中,步骤120可以在步骤110之后执行,也可以在步骤110和步骤120中择一执行,具体可以根据实际应用情形设置。
具体来说,主服务网格可以采用直接给备服务网格发送备份消息的方式,备份消息分为批量备份消息及实时备份方式。例如,备服务网格启动后,与主服务网格建立备份通道后,主服务网格把自己当前状态下的配置及TCP Session信息发送批量消息给备服务网格;批备结束后,配置变化或是TCP Session变化会通过实时备份消息发送给备服务网格。
另外,为了进一步提高用于DPU的服务网格部署的可靠性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,所述用于DPU的服务网格部署方法中的步骤100具体包含有如下内容:
将各个所述主服务网格各自对应的所述配置信息和动态数据,发送至预设的共享介质中进行存储,以使所述备服务网格在切换为新的主服务网格后,自该共享介质中获取所述配置信息和动态数据。参见图3,具体可以包含有下述步骤130和步骤140:
步骤130:将各个所述主服务网格各自对应的所述配置信息和动态数据,批量发送至预设的共享介质中进行存储,以使所述备服务网格在切换为新的主服务网格后,自该共享介质中获取所述配置信息和动态数据。
步骤140:在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至预设的共享介质中进行存储。
其中,步骤140可以在步骤130之后执行,也可以在步骤130和步骤140中择一执行,具体可以根据实际应用情形设置。
具体来说,共享介质方式是主服务网格把需要备份的信息存储到共享介质上,如共享内存或是数据库中,有变化也会实时更新共享内存或是数据库;备服务网格启动后,只需从共享介质获取备份的数据即可。
另外,图3仅为举例,步骤110至步骤120,与步骤130至步骤140之间,可以择一选用,也可以为了保证存储的可靠性,均进行采用。
为了进一步提高服务网格失效的获知效率及可靠性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,参见图3,所述用于DPU的服务网格部署方法中的步骤200具体包含有如下内容:
步骤210:采用所述备服务网格与其对应的所述主服务网格之间发送心跳报文。
步骤220:若所述备服务网格在预设时间阈值内未收到所述主服务网格发送的心跳报文,则确认该主服务网格变更为失效服务网格,所述备服务网格实时切换为新的主服务网格,并采用预存储的所述配置信息和所述动态数据进行流量数据处理。
为了进一步提高服务网格失效的获知效率及可靠性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,参见图3,所述用于DPU的服务网格部署方法中的步骤200具体包含有如下内容:
步骤230:基于预设的监控单元实时监控各个所述主服务网格的状态,若监控到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
其中,步骤210至步骤220,与步骤230中择一执行,具体可以根据实际应用情形设置。
具体来说,有多种方式可监测主服务网格状态,如主备服务网格之间发送心跳报文,某个时间阈值超时未收到报文,备服务网格即做主备切换。也可启动某其他中间件,监测主服务网格状态,失效通知备服务网格做主备切换。备服务网格切换成主服务网格,开始接收控制面配置,并收发流量;流量找到TCP Session后,流量即可进行分发和转发。
为了进一步提高的用于DPU的服务网格部署的可靠性及有效性,在本申请实施例提供的一种用于DPU的服务网格部署方法中,参见图3,所述用于DPU的服务网格部署方法中的步骤200之后还可以具体包含有如下内容:
步骤300:若所述失效服务网格当前恢复有效状态,则将该失效服务网格变更为新的备服务网格,以同步对应的主服务网格的所述配置信息和动态数据。
从软件层面来说,本申请还提供一种用于执行所述用于DPU的服务网格部署方法中全部或部分内的用于DPU的服务网格部署装置,参见图4,所述用于DPU的服务网格部署装置具体包含有如下内容:
数据同步模块10,用于将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格。
主备切换模块20,用于若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
本申请提供的用于DPU的服务网格部署装置的实施例具体可以用于执行上述实施例中的用于DPU的服务网格部署方法的实施例的处理流程,其功能在此不再赘述,可以参照上述用于DPU的服务网格部署方法实施例的详细描述。
所述用于DPU的服务网格部署装置进行用于DPU的服务网格部署的部分可以在服务器中执行,而在另一种实际应用情形中,也可以所有的操作都在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于DPU的服务网格部署的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
从上述描述可知,本申请实施例提供的用于DPU的服务网格部署装置,能够有效保证主机侧微服务与外部的通信可靠性,能够有效提高DPU上服务网格的应用可靠性及稳定性,能够有效提高服务网格失效的获知效率,并能够有效提高微服务业务恢复的效率及可靠性,满足高可靠性、低时延的场景应用需求。
基于上述实施例提供的用于DPU的服务网格部署方法和/或用于DPU的服务网格部署装置,本申请实施例还提供一种用于DPU的服务网格部署系统,用于DPU的服务网格部署系统具体包含有如下内容:
分别部署在DPU对应的K8s集群内的各个工作节点中的至少一个主服务网格和一个备服务网格,且每个所述主服务网格分别与自身对应的至少一个微服务之间通信连接;
各个所述主服务网格分别与控制面之间通信连接。
为了进一步说明本方案,本申请还提供一种用于DPU的服务网格部署方法(即:基于DPU高可靠性服务网格部署方法)的具体应用实例,能快速探测服务网格失效,并且可以快速恢复微服务业务。
具体涉及应用于DPU领域的高可靠性服务网格部署方法。
(一)用于DPU的服务网格部署方法流程如下:
S1.在DPU上部署主备服务网格;
以X86服务器(Server)为例,参见图5,可以每个主服务网格部署一个备服务网格;参见图6,还可以多个主服务网格部署一个备服务网格。
S2.主服务网格可批量及实时备份数据到备服务网格;
其中,备服务网格第一次启动或是重启,主服务网格批量备份最新控制面下发的配置及当前TCP Session信息到备服务网格;
备服务网格与主服务网格同步后,主服务网格发生的配置变化或TCP Session变化信息,实时备份到备服务网格。
S3.监测主备服务网格是否在位;
参见图7,在监测到主服务网格失效后,备服务网格立刻做主备切换;以及,在监测到备服务网格失效后,启动新的备服务网格。
S4.备服务网格升级成主服务网格;
S5.接收流量信息,根据备份数据对流量分发及转发;
S6.部署新的备服务网格;
原主服务网格重启后,可作为备服务网格;
多个主服务网格对应一个备服务网格时,备服务网格升主后,原主服务网格重启后,可作为备服务网格;
或启动新的备份服务网格。
(二)用于DPU的服务网格部署系统
(1)主服务网格实时备份控制面下发的配置等数据、动态建立的TCP Session信息到备服务网格;
效果:主服务网格接收控制面的配置及其后的变化,需实时备份到备服务网格。新建、修改、删除TCP Session以及Session状态变化信息,需实时备份到备服务网格。
备服务网格作为主服务网格的备份,它不接收流量也不进行转发。它可实时接收主服务网格的备份信息如配置及变化,应用到自身的相关配置及策略上。接收TCP Session信息,但不与TCP邻居交互。
(2)主备服务网格实时备份数据方式可采用消息方式或是共享介质的方式
效果:主服务网格可以采用直接给备服务网格发送备份消息的方式,备份消息分为批量备份消息及实时备份方式。例如,备服务网格启动后,与主服务网格建立备份通道后,主服务网格把自己当前状态下的配置及TCP Session信息发送批量消息给备服务网格;批备结束后,配置变化或是TCP Session变化会通过实时备份消息发送给备服务网格。
共享介质方式是主服务网格把需要备份的信息存储到共享介质上,如共享内存或是数据库中,有变化也会实时更新共享内存或是数据库;备服务网格启动后,只需从共享介质获取备份的数据即可。
(3)监测主服务网格状态,在其失效后,备服务网格做主备切换,接管业务流量
效果:有多种方式可监测主服务网格状态,如主备服务网格之间发送心跳报文,某个时间阈值超时未收到报文,备服务网格即做主备切换。也可启动某其他中间件,监测主服务网格状态,失效通知备服务网格做主备切换。备服务网格切换成主服务网格,开始接收控制面配置,并收发流量;流量找到TCP Session后,流量即可进行分发和转发。
(4)主备服务网格部署方式按1比1或n比1备份
效果:1比1备份,即在DPU上针对每个主服务网格,部署一个备服务网格;n比1备份,即多个主服务网格共享同一个备服务网格。
综上所述,本方法通过部署主备服务网格,备服务网格不处理业务和流量。主服务网格批量及实时备份控制面下发的配置等信息以及动态建立的TCP Session或变化信息给备服务网格。备服务网格根据备份信息本地创建策略及TCP Session。实时监测主服务网格状态,在其失效时,备服务网格完成快速主备切换,无需再向控制面索要配置及重新建立TCP Session等耗时操作,即可对流量进行分发及转发,避免丢包,达成高可靠性及低时延的需求。
本申请实施例还提供了一种电子设备,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的用于DPU的服务网格部署方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。所述电子设备可自所述无线多媒体传感器网络中的传感器接收实时运动数据,并自所述视频采集装置接收原始视频序列。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的用于DPU的服务网格部署方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的用于DPU的服务网格部署方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的用于DPU的服务网格部署方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述用于DPU的服务网格部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种用于DPU的服务网格部署方法,其特征在于,包括:
将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格;
若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理;
其中,所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格,包括:
将各个所述主服务网格各自对应的所述配置信息和动态数据,批量同步至各个所述主服务网格分别对应的所述备服务网格进行存储,并在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至各个所述主服务网格分别对应的所述备服务网格进行存储;
或者,将各个所述主服务网格各自对应的所述配置信息和动态数据,发送至预设的共享介质中进行存储,以使所述备服务网格在切换为新的主服务网格后,自该共享介质中获取所述配置信息和动态数据,并在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至预设的共享介质中进行存储。
2.根据权利要求1所述的用于DPU的服务网格部署方法,其特征在于,在所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格之前,还包括:
采用各个所述主服务网格分别在DPU对应的K8s集群内的各个工作节点中接收并存储控制面发送的配置信息,并接收主机侧的微服务流量数据并生成对应的动态数据,以根据所述配置信息处理对应的微服务流量数据。
3.根据权利要求1所述的用于DPU的服务网格部署方法,其特征在于,所述若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理,包括:
采用所述备服务网格与其对应的所述主服务网格之间发送心跳报文;
若所述备服务网格在预设时间阈值内未收到所述主服务网格发送的心跳报文,则确认该主服务网格变更为失效服务网格,所述备服务网格实时切换为新的主服务网格,并采用预存储的所述配置信息和所述动态数据进行流量数据处理。
4.根据权利要求1或3所述的用于DPU的服务网格部署方法,其特征在于,所述若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理,包括:
基于预设的监控单元实时监控各个所述主服务网格的状态,若监控到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理。
5.根据权利要求1所述的用于DPU的服务网格部署方法,其特征在于,还包括:
若所述失效服务网格当前恢复有效状态,则将该失效服务网格变更为新的备服务网格,以同步对应的主服务网格的所述配置信息和动态数据。
6.一种用于DPU的服务网格部署装置,其特征在于,包括:
数据同步模块,用于将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格;
主备切换模块,用于若经实时监测到当前存在失效的主服务网格,则将其变更为失效服务网格,并将对应的备服务网格实时切换为新的主服务网格,以使新的主服务网格采用预存储的所述配置信息和所述动态数据进行流量数据处理;
其中,所述将当前在DPU中的用于进行流量数据处理的各个主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据,分别同步至对应的处于非工作状态的备服务网格,包括:
将各个所述主服务网格各自对应的所述配置信息和动态数据,批量同步至各个所述主服务网格分别对应的所述备服务网格进行存储,并在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至各个所述主服务网格分别对应的所述备服务网格进行存储;
或者,将各个所述主服务网格各自对应的所述配置信息和动态数据,发送至预设的共享介质中进行存储,以使所述备服务网格在切换为新的主服务网格后,自该共享介质中获取所述配置信息和动态数据,并在各个所述主服务网格各自对应的配置信息和基于主机侧的微服务流量数据生成的动态数据发生变化时,将所述配置信息和动态数据各自对应的变化数据实时同步至预设的共享介质中进行存储。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的用于DPU的服务网格部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310070163.6A CN116048538B (zh) | 2023-01-13 | 2023-01-13 | 用于dpu的服务网格部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310070163.6A CN116048538B (zh) | 2023-01-13 | 2023-01-13 | 用于dpu的服务网格部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116048538A CN116048538A (zh) | 2023-05-02 |
CN116048538B true CN116048538B (zh) | 2023-11-28 |
Family
ID=86125284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310070163.6A Active CN116048538B (zh) | 2023-01-13 | 2023-01-13 | 用于dpu的服务网格部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048538B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886497B (zh) * | 2023-07-28 | 2024-06-07 | 中科驭数(北京)科技有限公司 | 基于dpu的服务网格业务集中代理切换方法及处理系统 |
CN116932332B (zh) * | 2023-08-08 | 2024-04-19 | 中科驭数(北京)科技有限公司 | Dpu运行状态监控方法及装置 |
CN117061338B (zh) * | 2023-08-16 | 2024-06-07 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905670A (zh) * | 2005-07-25 | 2007-01-31 | 黎灿兵 | 基于网格技术的视频点播直播的实现方法和设备 |
CN113765965A (zh) * | 2020-08-21 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 服务网格系统的生成方法、装置、服务网格系统 |
CN113900863A (zh) * | 2021-10-13 | 2022-01-07 | 深圳市震有软件科技有限公司 | 一种对PostgreSQL服务故障自动转移的方法 |
CN114844941A (zh) * | 2022-04-27 | 2022-08-02 | 南京亚信软件有限公司 | 基于Istio的接口级别服务治理方法及相关装置 |
US11457080B1 (en) * | 2018-11-23 | 2022-09-27 | Amazon Technologies, Inc. | Service mesh management |
-
2023
- 2023-01-13 CN CN202310070163.6A patent/CN116048538B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905670A (zh) * | 2005-07-25 | 2007-01-31 | 黎灿兵 | 基于网格技术的视频点播直播的实现方法和设备 |
US11457080B1 (en) * | 2018-11-23 | 2022-09-27 | Amazon Technologies, Inc. | Service mesh management |
CN113765965A (zh) * | 2020-08-21 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 服务网格系统的生成方法、装置、服务网格系统 |
CN113900863A (zh) * | 2021-10-13 | 2022-01-07 | 深圳市震有软件科技有限公司 | 一种对PostgreSQL服务故障自动转移的方法 |
CN114844941A (zh) * | 2022-04-27 | 2022-08-02 | 南京亚信软件有限公司 | 基于Istio的接口级别服务治理方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
微服务架构特点、技术趋势及在行业应用中关键问题研究;王义;;软件(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116048538A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116048538B (zh) | 用于dpu的服务网格部署方法及装置 | |
US8914449B2 (en) | Push messaging platform with high scalability and high availability | |
US7844851B2 (en) | System and method for protecting against failure through geo-redundancy in a SIP server | |
US9641415B2 (en) | Method and system for seamless SCTP failover between SCTP servers running on different machines | |
CN101572709B (zh) | 套接字连接的切换方法、系统、服务器和客户端设备 | |
CN110167092B (zh) | 一种业务迁移的方法及装置 | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
US20220338113A1 (en) | Method and system for seamless service continuity for edge computing | |
US20220086262A1 (en) | Network packet processing method and apparatus and network server | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
CN116886497B (zh) | 基于dpu的服务网格业务集中代理切换方法及处理系统 | |
JP7501741B2 (ja) | 通信装置、方法、プログラム、及び記録媒体 | |
US20150341205A1 (en) | Method for guaranteeing service continuity in a telecommunication network and system thereof | |
CN117296304A (zh) | 利用vpn客户端管理两个同时vpn连接的数据业务 | |
CN112511326A (zh) | 一种切换方法、装置、设备和存储介质 | |
CN112788089A (zh) | 多边缘云的网络通讯控制方法及边缘运算装置与系统 | |
CN116192863B (zh) | 微服务流量处理方法、dpu服务网格部署方法及系统 | |
CN115801642B (zh) | 基于状态控制的rdma通讯管理模块、方法、设备及介质 | |
US11973824B2 (en) | Method for data transmission of audio and video in end-to-end system | |
US10778585B1 (en) | Connection and application state migration for uninterrupted service availability | |
CN115086617A (zh) | 视频流存储方法、装置、系统、设备及介质 | |
CN115361271B (zh) | Ssh服务器切换与连接方法、云端服务器及存储介质 | |
CN117692458B (zh) | 一种基于标签的分布式负载均衡实现方法及系统 | |
CN117857660B (zh) | 数据传输协议自适应方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |