CN113709707A - 服务网格中边车部署的方法、装置、电子设备和存储介质 - Google Patents
服务网格中边车部署的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113709707A CN113709707A CN202111267095.XA CN202111267095A CN113709707A CN 113709707 A CN113709707 A CN 113709707A CN 202111267095 A CN202111267095 A CN 202111267095A CN 113709707 A CN113709707 A CN 113709707A
- Authority
- CN
- China
- Prior art keywords
- sidecar
- service
- micro
- type
- grid
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006854 communication Effects 0.000 abstract description 23
- 238000004891 communication Methods 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及微服务技术领域,公开了一种服务网格中边车部署的方法、装置、电子设备和存储介质。本发明中,该服务网格中边车部署的方法,包括:根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。能够减少服务网格的资源消耗,且保证微服务之间的正常通信。
Description
技术领域
本发明涉及微服务技术领域,尤其是涉及一种服务网格中边车部署的方法、装置、电子设备和存储介质。
背景技术
微服务是近年来新兴的一种软件开发技术。这种技术将传统业务分成很多细粒度的、松散耦合且可独立部署的微服务。在原有的单体软件架构已经无法满足当前互联网产品的技术需求的情况下,微服务技术得到了蓬勃发展。
在微服务技术发展的同时,服务网格(Service Mesh)应运而生。服务网格是用于处理微服务间通信的基础设施层,它负责为构架复杂的云原生应用传递可靠的网络请求。在微服务系统引入服务网格后,微服务之间的网络通信被服务网格代理,经由服务网格实现彼此之间的通信。服务网格对微服务之间的网络通信进行代理,是通过为每个微服务创建一个边车并与之建立关联关系实现的。
然而,由于多数微服务系统中微服务数量巨大,因而边车的数量也很大。大量边车组成的服务网格占用了网络中过多的资源。
发明内容
本发明实施方式的目的在于提供一种服务网格中边车部署的方法、装置、电子设备和存储介质,用以减少服务网格的资源消耗,且保证微服务之间的正常通信。
为了解决上述问题,本发明的实施方式提供了一种服务网格中边车部署的方法,包括:
根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
本发明的实施方式还提供了一种服务网格中边车部署装置,包括:
确定模块,用于根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;部署模块,用于根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的服务网格中边车部署的方法。
本发明的实施方式还提供了一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时实现上述的服务网格中边车部署的方法。
本发明的实施方式根据微服务的资源需求和可靠性需求,为微服务确定配置的边车类型。其中边车类型包括共享边车,共享边车可关联网络中的多个微服务,相比于传统的服务网格中为每一个微服务配置各自对应的不同边车的技术,能够大大减少资源消耗。进而本发明的实施方式根据边车类型为微服务部署边车,并为所述微服务分配发布端口。且在微服务配置的边车类型为共享边车的情况下,为微服务分配的发布端口不同于共享该边车的其他微服务的发布端口。不同的发布端口能够避免关联多个微服务的边车转发混乱,使得边车能够根据发布端口将访问请求发送至正确的目标微服务,确保微服务之间通信的正常进行。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明一实施方式中的服务网格的结构示意图;
图2是根据本发明一实施方式中的引入服务网格后的微服务通信传输路径示意图;
图3是根据本发明一实施方式中的引入服务网格后的微服务通信过程示意图;
图4是根据本发明一实施方式中的服务网格中边车部署的方法流程图;
图5是根据本发明另一实施方式中的微服务通信传输路径示意图;
图6是根据本发明另一实施方式中的边车转发微服务请求的流程图;
图7是根据本发明另一实施方式中的根据边车类型为微服务部署边车方法流程图;
图8是根据本发明又一实施方式中的微服务通信过程示意图;
图9是根据本发明另一实施方式中的服务网格中边车部署的方法流程图;
图10是根据本发明一实施方式中的服务网格中边车的部署装置的结构示意图;
图11是根据本发明另一实施方式中的电子设备的结构示意图。
具体实施方式
为使本发明的实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。以下各个实施方式的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。
服务网格是用于处理微服务间通信的基础设施层。云原生应用有着复杂的服务拓扑,服务网格负责在这些拓扑中实现请求的可靠传递。由于在微服务系统引入服务网格以后,服务网格会代理微服务之间的网络通信,且微服务无需感知服务网格的存在,因此可以将服务网格比作微服务之间的传输控制协议/互联协议(Transmission ControlProtocol/Internet Protocol,简称“TCP/IP”)。
服务网格包括数据面和控制面两部分,服务网格的结构示意图如图1所示。数据面的组件通常以轻量级网络代理阵列的形式实现,这些代理与微服务部署在一起,负责微服务之间所有的网络通信。由于代理伴随微服务部署,所以又被称为边车。控制面则负责管理数据面的边车,具体可以包括边车下发服务地址信息、配置服务路由、分发安全证书等等事项。
为了实现使得服务网格能够代理微服务系统的所有网络通信,边车需要拦截和自己关联的微服务的网络请求,存在以下几种拦截方式。
一、流量劫持。
通过为微服务所在的主机配置iptables规则,将出入微服务的流量都转发到其关联的边车上,再由边车转发出去。流量经过边车时,边车可以对通信过程进行控制。启用流量劫持前后,所访问的微服务的地址不变。图2是引入服务网格后的微服务通信传输路径示意图。以微服务A和微服务B为例,引入服务网格后,为微服务A配置边车A,为微服务B配置边车B。微服务A向微服务B发出的调用请求,被边车A拦截并转发至边车B,再由边车B发送至其所关联的微服务B。
二、流量接管。
引入服务网格以后,微服务注册被边车所接管,访问微服务的地址被替换为边车的地址。引入服务网格后的微服务通信过程示意图如图3所示。以微服务A和服务地址为1.1.1.1:8001的微服务B为例,引入服务网格后,为微服务A配置边车A,为微服务B配置边车B。微服务B作为被调用方,自己的服务地址被发送给边车B,边车B上为此微服务分配一个端口,然后将边车B的地址(2.1.1.1:8002)作为此微服务B的地址,注册到服务中心。注册后,服务中心增加一条服务记录:微服务B地址2.1.1.1:8002。微服务A作为微服务B的调用方,在使用前,需要在边车A上配置微服务B的访问地址,此时访问地址为2.1.1.2:8003。当微服务A访问微服务B时,微服务A发送请求给边车A的地址,边车A从服务中心可以得知微服务B的地址,因此会将请求发送给边车B的地址,最后边车B将请求发送给微服务B的实际地址。启用流量接管后,所访问的微服务的地址实际上变成边车的地址了,但是微服务仍然感知不到服务网格的存在,因为以上这些和边车相关的配置,可以由服务网格的组件来自动完成,微服务会以为边车的地址就是微服务实际的地址。
服务网格常用的拦截微服务的网络请求的方式是流量劫持,因为这种方式不会改变微服务的地址,对应用整体的影响较小。然而,以上各种拦截网络请求的方式虽然不同,但都有相同的特征:边车和微服务是一对一的。这种设计会导致边车占用较多的资源。
在微服务系统中业务会被分成很多细粒度的微服务,这使得系统中微服务数量很多,而每一个微服务,都要对应一个边车,因此边车的数量往往也很多。边车只要启动以后,就会占用基础资源,在新的微服务注册,转发请求的时候,还会进一步增加动态资源消耗。即使每一个边车的资源消耗不多,所有边车的总消耗还是很大。这导致引入服务网格后,占用的资源会增加不少比例。
边车占用的资源,不管是绝对值,还是相对的比例,都是非常可观的。在一些资源非常有限的特殊场景,例如边缘云等,尽量减少边车资源的占用就显得尤为必要。
然而传统服务网格资源进行节约的方式,均是针对单个边车的优化,虽有一定节约资源的效果,但只要边车数量过多,由于下述原因,总是会消耗大量的资源:(1)边车进程一启动,即使没有注册微服务,也会消耗基础资源;(2)只要微服务进行注册,边车就会同步数据,即使不发请求,也会消耗资源,例如为每个微服务启动监听、准备处理线程、保存性能数据等;(3)微服务发送请求时,边车会进一步消耗资源。
本发明的一实施方式涉及一种服务网格中边车部署的方法,具体流程如图4所示。
在本实施方式中,根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
下面对本实施例中的服务网格中边车部署的方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。具体流程如图4所示,可包括如下步骤:
步骤401,根据微服务的资源需求和可靠性需求,确定为微服务配置的边车类型;其中,边车类型包括独占边车和共享边车。
在本步骤中,服务网格中边车的部署装置根据微服务的资源需求和可靠性需求,确定为微服务配置的边车类型。例如:对于发送接收请求多或对网络性能要求高的微服务,可以为其配置独占边车;对于对网络性能要求不高的微服务,可以为其配置共享边车。既可以为微服务配置独占边车,也可以为微服务配置共享边车,既能够使得配置的边车满足微服务的需求,在配置共享边车的情况下还能够减少服务网格中的边车数量,实现资源节约。
在一个例子中,在所述确定为所述微服务配置的边车类型之后,在所述根据所述边车类型为所述微服务部署边车之前,还可以包括:为所述微服务配置边车的参数;其中,所述参数包括以下之一或其任意组合:边车的ID、边车的名称、边车的资源配额、边车的个数。在本例中,除了为微服务配置边车类型之外,还可为微服务配置其他边车相关的参数。
为配置的边车类型为共享边车的微服务,配置边车的ID可以使得将微服务与某一已存在的边车关联。例如可以将一个功能模块的多个子微服务关联同一类型为共享边车的边车,或为对资源与可靠性没有需求的微服务关联至一预先设置的全局共享边车。
值得注意的是,微服务和边车的关联关系可以是任意组合,不再只限于一对一,还可以是一对多、多对一、多对多的关系。例如,如果希望能够避免边车出现单点故障,还可以为单个微服务关联多个边车,可以通过为微服务配置边车的个数的方式实现。
若微服务和边车的关联关系是多对多,即一组微服务可以对应一组边车,这种情况下的微服务通信传输路径示意图如图5所示。微服务分组1中的微服务要访问微服务分组2中的微服务时,微服务分组1的微服务发出的请求,会经过边车分组1中的任一边车,转发给边车分组2中的任一边车,最终转发到微服务分组2的微服务。
在实际实施时,由于边车可以共享,边车不再跟随微服务部署,而是部署在微服务之外。对于传统的将边车跟随微服务部署时,升级边车可能需要重启整个微服务才能更新边车版本,这会导致业务中断较长时间。而将边车部署在微服务之外,为边车的部署带来了更大的灵活性,可以实现独立升级边车而不重启微服务。部署新版本的边车,并逐步将流量接管过去后,再删除旧版本的边车,在此期间,微服务本身不需要重启。
步骤402,根据边车类型为微服务部署边车,并为微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
具体地说,服务网格中边车的部署装置根据边车类型的不同,以不同的方法为微服务部署边车。且对于配置的边车类型为共享边车的微服务,由于多个微服务可能共享同一个边车,而不同微服务的端口号有可能重复,所以边车不能再用微服务的原始端口。为微服务分配一个不同于共享所述边车的其他微服务的发布端口,以便边车能根据目的端口来区分不同微服务的请求,避免车转发混乱,确保微服务之间通信的正常进行。
在为微服务部署边车,并为微服务分配发布端口之后,为了实现边车对微服务请求的及时处理,边车需要对微服务的发布端口进行监听。
在一个例子中,一边车的边车类型为共享边车,该边车转发微服务请求的流程图如图6所示。
步骤601,根据目的发布端口号确定目标微服务。边车在监听到关联的微服务发出服务请求后,首先根据目的发布端口号能够准确的确定目标微服务。
步骤602,在服务网格中查找该目标微服务关联的边车。
步骤603,根据查找结果判断目标微服务关联的边车是否为此边车。若是,即查找结果表征该目标微服务关联的边车即为此边车,进行步骤604。否则,进行步骤605。
步骤604,将服务请求直接转发至目标微服务。若目标微服务关联的边车即为此边车,则只需将服务请求转发至目标为服务即可。
步骤605,将服务请求转发至该目标微服务关联的边车。若目标微服务关联的边车非此边车而是服务网格中的其他边车,则将服务请求转发至该目标微服务关联的边车,再由该关联的边车将服务请求转发给目标微服务。
应当注意的是,本实施方式中涉及的边车和微服务可以在同一主机中,也可以在不同主机中。微服务和边车的部署形态,可以是进程、docker容器、k8s的pod等。边车实现对关联的微服务发出的请求进行拦截的方式可以是配置iptables、ipvs规则以及进行硬件配置等方式。为微服务配置边车相关的参数,可以通过k8s对象的annotaion、配置文件、配置数据库等方式。
本实施方式根据微服务的资源需求和可靠性需求,为微服务确定配置的边车类型。其中边车类型包括共享边车,共享边车可以关联网络中的多个微服务,相比于传统的服务网格中为每一个微服务配置各自对应的不同边车的技术,能够大大减少资源消耗。进而本发明的实施方式根据边车类型为微服务部署边车,并为所述微服务分配发布端口。且在微服务配置的边车类型为共享边车的情况下,为微服务分配的发布端口不同于共享该边车的其他微服务的发布端口。不同的发布端口能够避免关联多个微服务的边车转发混乱,使得边车能够根据发布端口将访问请求发送至正确的目标微服务,确保微服务之间通信的正常进行。
本发明的另一实施方式涉及一种服务网格中边车部署的方法,在本实施方式中,边车的参数包括边车的ID,根据所述边车类型为所述微服务部署边车,具体流程如图7所示。
在步骤701前还包括步骤401和步骤402。
其中,步骤401为根据微服务的资源需求和可靠性需求,确定为微服务配置的边车类型;其中,边车类型包括独占边车和共享边车。步骤402为根据边车类型为微服务部署边车,并为微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
步骤401和步骤402在上一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
步骤701,判断为微服务配置的边车类型是否是共享边车。
具体地说,为微服务部署边车是根据为微服务配置的边车类型,因此,在本步骤中,服务网格中边车部署的装置首先对微服务配置的边车类型进行判断。在为所述微服务配置的边车类型为共享边车的情况下,进行步骤702。在为所述微服务配置的边车类型为独占边车的情况下,进行步骤705。
步骤702,根据所述边车的ID确定服务网格中相同ID的边车的存在状态。
在为所述微服务配置的边车类型为共享边车的情况下,根据所述边车的ID确定服务网格中相同ID的边车的存在状态。进而根据存在状态,为所述微服务部署边车。
步骤703,判断存在状态是否为存在。
在存在状态为存在的情况下,说明服务网格中已经存在部署装置需要为微服务进行部署的边车,进行步骤704。否则,说明服务网格中不存在部署装置需要为微服务进行部署的边车,进行步骤705。
步骤704,将相同ID的边车与微服务关联。
在所述存在状态为存在的情况下,说明服务网格中已经存在部署装置需要为微服务进行部署的边车,只需将所述相同ID的边车与所述微服务关联,能够减少服务网格中边车的数量,有效节省网络资源。
步骤705,创建边车并将边车与微服务关联。
具体地说,在为所述微服务配置的边车类型为共享边车且存在状态为不存在的情况下,创建边车并将所述边车与所述微服务关联。在为所述微服务配置的边车类型为独占边车的情况下,创建边车并将所述边车与所述微服务关联。
在一示例性实施方式中,微服务A1配置的边车的ID为X,则在为微服务A1部署边车时,需创建ID为X的边车。而对于同样配置的边车的ID为X的微服务A2,在为其部署边车时,无需创建边车,只需建立微服务A2与边车X的关联即可。
为微服务部署边车类型为共享边车的边车后,微服务之间的通信过程如图8所示。首先,微服务B在服务中心进行注册。随后,服务网格的控制面从服务中心获取新注册的微服务B,进而为微服务B分配发布端口并配置微服务的iptables规则。与微服务B关联的边车Y对微服务B的发布端口进行监听。
微服务A通过服务中心发现微服务B的存在,进而对微服务B发出调用请求。该调用请求被iptables规则导向与微服务A关联的边车X上的微服务B的发布端口。进一步地,边车X将该调用请求转发给边车Y,最终由边车Y将请求发送给微服务B。
本实施方式为配置的边车类型为独占边车的微服务,以及服务网格中不存在与其配置的边车ID相同ID的边车的微服务,创建边车并能够使得上述边车与微服务建立关联关系。对于为微服务配置的边车类型为共享边车且服务网格中存在相同ID的边车的情况,为这种微服务与该相同ID的边车进行关联,能够减少服务网格中边车的数量,有效节约服务网格占用的资源。
本发明的另一实施方式涉及一种服务网格中边车部署的方法,具体流程如图9所示。
步骤901,根据微服务的资源需求和可靠性需求,确定为微服务配置的边车类型;其中,边车类型包括独占边车和共享边车。
步骤902,根据边车类型为微服务部署边车,并为微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
不难看出,本实施方式中的步骤901与步骤902与前述实施方式中的步骤401与步骤402相同,上一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
步骤903,在微服务需要卸载的情况下,为边车解除与微服务的关联。
在本步骤中,对微服务进行卸载,为了充分释放占用的资源,还需将边车与该微服务解除关联关系。
步骤904,在微服务关联的边车的边车类型为共享边车的情况下,根据边车的微服务关联数,确定是否删除边车。
在一个例子中,根据所述边车的微服务关联数,确定是否删除所属边车,可以包括:在所述边车的微服务关联数大于0的情况下,保留所述边车;在所述边车的微服务关联数不大于0的情况下,删除所述边车。在卸载的微服务的关联边车已无剩余关联边车的情况下,对该边车进行删除能够使得占用资源得到释放。
本实施方式在对微服务进行卸载后,能够解除边车与该微服务的关联关系。且在微服务关联的边车的边车类型为共享边车的情况下,能够根据边车的微服务关联数,确定是否删除所述边车。能够实现在尽可能的释放占用资源的同时,避免对处于关联关系之中的边车造成错误删除。
本发明的一实施方式涉及一种服务网格中边车部署装置,如图10所示,包括:
确定模块1001,用于根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;
部署模块1002,用于根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
在一个例子中,服务网格中边车部署装置还可以包括:配置模块(图中未示出),用于在所述确定为所述微服务配置的边车类型之后,在所述根据所述边车类型为所述微服务部署边车之前,为所述微服务配置边车的参数;其中,所述参数包括以下之一或其任意组合:边车的ID、边车的名称、边车的资源配额、边车的个数。
在一个例子中,部署模块1002,还可以用于在为所述微服务配置的边车类型为共享边车的情况下,根据所述边车的ID确定服务网格中相同ID的边车的存在状态;根据所述存在状态,为所述微服务部署边车。
在一个例子中,部署模块1002,还可以用于在所述存在状态为存在的情况下,将所述相同ID的边车与所述微服务关联;在所述存在状态为不存在的情况下,创建边车并将所述边车与所述微服务关联。
在一个例子中,服务网格中边车部署装置还可以包括:卸载模块(图中未示出),在所述为所述微服务分配发布端口之后,卸载所述微服务,并为所述边车解除与所述微服务的关联;在所述微服务关联的边车的边车类型为共享边车的情况下,根据所述边车的微服务关联数,确定是否删除所属边车。
在一个例子中,卸载模块还可以用于在所述边车的微服务关联数大于0的情况下,保留所述边车;在所述边车的微服务关联数不大于0的情况下,删除所述边车。
在一个例子中,部署模块1002,还可以用于在为所述微服务配置的边车类型为独占边车的情况下,创建边车并将所述边车与所述微服务关联。
本实施方式提供的服务网格中边车部署装置能够根据微服务的资源需求和可靠性需求,为微服务确定配置的边车类型。其中边车类型包括共享边车,共享边车可能关联网络中的多个微服务,相比于传统的服务网格中为每一个微服务配置各自对应的不同边车的技术,能够大大减少资源消耗。进而本发明的实施方式根据边车类型为微服务部署边车,并为所述微服务分配发布端口。且在微服务配置的边车类型为共享边车的情况下,为微服务分配的发布端口不同于共享该边车的其他微服务的发布端口。不同的发布端口能够避免关联多个微服务的边车转发混乱,使得边车能够根据发布端口将访问请求发送至正确的目标微服务,确保微服务之间通信的正常进行。
值得一提的是,本发明上述实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的实施例还提供一种电子设备,如图11所示,包括至少一个处理器1101;以及,与所述至少一个处理器1101通信连接的存储器1102;其中,存储器1102存储有可被至少一个处理器1101执行的指令,指令被至少一个处理器1101执行,以使至少一个处理器1101能够执行上述服务网格中边车部署的方法。
其中,存储器1102和处理器1101采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器1101和存储器1102的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器1101处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器1101。
处理器1101负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器1102可以被用于存储处理器1101在执行操作时所使用的数据。
上述产品可执行本申请实施例所提供的服务网格中边车部署的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的实施例还提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述服务网格中边车部署的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可以在不脱离本申请的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该符合权利要求书所提到的创新性特征的最大范围。
Claims (10)
1.一种服务网格中边车部署的方法,其特征在于,包括:
根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;
根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;
其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
2.根据权利要求1所述的服务网格中边车部署的方法,其特征在于,在所述确定为所述微服务配置的边车类型之后,在所述根据所述边车类型为所述微服务部署边车之前,还包括:
为所述微服务配置边车的参数;
其中,所述参数包括以下之一或其任意组合:边车的ID、边车的名称、边车的资源配额、边车的个数。
3.根据权利要求2所述的服务网格中边车部署的方法,其特征在于,当所述边车的参数包括边车的ID,所述根据所述边车类型为所述微服务部署边车,包括:
在为所述微服务配置的边车类型为共享边车的情况下,根据所述边车的ID确定服务网格中相同ID的边车的存在状态;
根据所述存在状态,为所述微服务部署边车。
4.根据权利要求3所述的服务网格中边车部署的方法,其特征在于,所述根据所述存在状态,为所述微服务部署边车,包括:
在所述存在状态为存在的情况下,将所述相同ID的边车与所述微服务关联;
在所述存在状态为不存在的情况下,创建边车并将所述边车与所述微服务关联。
5.根据权利要求1所述的服务网格中边车部署的方法,其特征在于,在所述为所述微服务分配发布端口之后,还包括:
在所述微服务需要卸载的情况下,为所述边车解除与所述微服务的关联,并在所述微服务关联的边车的边车类型为共享边车的情况下,根据所述边车的微服务关联数,确定是否删除所述边车。
6.根据权利要求5所述的服务网格中边车部署的方法,其特征在于,所述根据所述边车的微服务关联数,确定是否删除所属边车,包括:
在所述边车的微服务关联数大于0的情况下,保留所述边车;
在所述边车的微服务关联数不大于0的情况下,删除所述边车。
7.根据权利要求1至6中任一项所述的服务网格中边车部署的方法,其特征在于,所述根据所述边车类型为所述微服务部署边车,包括:
在为所述微服务配置的边车类型为独占边车的情况下,创建边车并将所述边车与所述微服务关联。
8.一种服务网格中边车部署装置,其特征在于,包括:
确定模块,用于根据微服务的资源需求和可靠性需求,确定为所述微服务配置的边车类型;其中,所述边车类型包括独占边车和共享边车;
部署模块,用于根据所述边车类型为所述微服务部署边车,并为所述微服务分配发布端口;其中,在为所述微服务配置的边车类型为共享边车的情况下,为所述微服务分配的发布端口不同于共享所述边车的其他微服务的发布端口。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的服务网格中边车部署的方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的服务网格中边车部署的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267095.XA CN113709707B (zh) | 2021-10-29 | 2021-10-29 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
EP22885625.8A EP4418704A1 (en) | 2021-10-29 | 2022-10-09 | Sidecar deployment method and apparatus in service mesh, electronic device and storage medium |
PCT/CN2022/124174 WO2023071744A1 (zh) | 2021-10-29 | 2022-10-09 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267095.XA CN113709707B (zh) | 2021-10-29 | 2021-10-29 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709707A true CN113709707A (zh) | 2021-11-26 |
CN113709707B CN113709707B (zh) | 2022-03-15 |
Family
ID=78647452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111267095.XA Active CN113709707B (zh) | 2021-10-29 | 2021-10-29 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4418704A1 (zh) |
CN (1) | CN113709707B (zh) |
WO (1) | WO2023071744A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024826A (zh) * | 2022-01-05 | 2022-02-08 | 苏州博纳讯动软件有限公司 | 基于服务网格技术实现分布式esb场景下的应用多活系统 |
CN114465878A (zh) * | 2022-02-28 | 2022-05-10 | 中国工商银行股份有限公司 | 一种服务端口切换方法及装置 |
WO2023071744A1 (zh) * | 2021-10-29 | 2023-05-04 | 中兴通讯股份有限公司 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873489A (zh) * | 2012-12-10 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 具有PCIe接口的装置共享系统及方法 |
CN106961475A (zh) * | 2017-03-14 | 2017-07-18 | 云宏信息科技股份有限公司 | 一种基于nbd的远程磁盘共享方法和共享系统 |
CN109981789A (zh) * | 2019-04-03 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于代理模式的微服务引擎 |
WO2019169405A1 (en) * | 2018-03-02 | 2019-09-06 | Syntegrity Networks Inc. | Microservice architecture for identity and access management |
CN111130892A (zh) * | 2019-12-27 | 2020-05-08 | 上海浦东发展银行股份有限公司 | 一种企业级微服务的管理系统及方法 |
CN111176723A (zh) * | 2019-12-31 | 2020-05-19 | 上海道客网络科技有限公司 | 基于服务网格和链路版本的服务多版本发布系统与方法 |
CN111263933A (zh) * | 2017-09-30 | 2020-06-09 | 甲骨文国际公司 | 部署的容器平台中的实时调试实例 |
US10764244B1 (en) * | 2019-06-12 | 2020-09-01 | Cisco Technology, Inc. | Systems and methods providing a multi-cloud microservices gateway using a sidecar proxy |
CN111638945A (zh) * | 2020-06-09 | 2020-09-08 | 中国电力工程顾问集团中南电力设计院有限公司 | 基于容器技术的分散控制系统 |
US20200329114A1 (en) * | 2019-04-10 | 2020-10-15 | Cisco Technology, Inc. | Differentiated smart sidecars in a service mesh |
WO2020227266A1 (en) * | 2019-05-08 | 2020-11-12 | Cisco Technology, Inc. | Systems and methods for protecting a service mesh from external attacks on exposed software vulnerabilities |
CN112000365A (zh) * | 2020-08-24 | 2020-11-27 | 百度时代网络技术(北京)有限公司 | 基于微服务架构的服务网格配置方法、装置、设备和介质 |
CN112351106A (zh) * | 2020-11-12 | 2021-02-09 | 四川长虹电器股份有限公司 | 一种含事件网格的服务网格平台及其通信方法 |
CN112860342A (zh) * | 2021-02-10 | 2021-05-28 | 北京百度网讯科技有限公司 | 微服务配置的方法、装置、设备、系统以及存储介质 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
CN113243004A (zh) * | 2019-01-09 | 2021-08-10 | 思科技术公司 | 使用数据中心网络结构作为代理的应用层服务流量通信 |
CN113296927A (zh) * | 2020-06-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 服务网格实例的构建方法、服务网格系统以及多集群系统 |
US20210273918A1 (en) * | 2020-03-02 | 2021-09-02 | Cisco Technology, Inc. | Policy based personally identifiable information leakage prevention in cloud native enviroments |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709707B (zh) * | 2021-10-29 | 2022-03-15 | 中兴通讯股份有限公司 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
-
2021
- 2021-10-29 CN CN202111267095.XA patent/CN113709707B/zh active Active
-
2022
- 2022-10-09 WO PCT/CN2022/124174 patent/WO2023071744A1/zh active Application Filing
- 2022-10-09 EP EP22885625.8A patent/EP4418704A1/en active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873489A (zh) * | 2012-12-10 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 具有PCIe接口的装置共享系统及方法 |
CN106961475A (zh) * | 2017-03-14 | 2017-07-18 | 云宏信息科技股份有限公司 | 一种基于nbd的远程磁盘共享方法和共享系统 |
CN111263933A (zh) * | 2017-09-30 | 2020-06-09 | 甲骨文国际公司 | 部署的容器平台中的实时调试实例 |
WO2019169405A1 (en) * | 2018-03-02 | 2019-09-06 | Syntegrity Networks Inc. | Microservice architecture for identity and access management |
CN113243004A (zh) * | 2019-01-09 | 2021-08-10 | 思科技术公司 | 使用数据中心网络结构作为代理的应用层服务流量通信 |
CN109981789A (zh) * | 2019-04-03 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于代理模式的微服务引擎 |
US20200329114A1 (en) * | 2019-04-10 | 2020-10-15 | Cisco Technology, Inc. | Differentiated smart sidecars in a service mesh |
WO2020227266A1 (en) * | 2019-05-08 | 2020-11-12 | Cisco Technology, Inc. | Systems and methods for protecting a service mesh from external attacks on exposed software vulnerabilities |
US10764244B1 (en) * | 2019-06-12 | 2020-09-01 | Cisco Technology, Inc. | Systems and methods providing a multi-cloud microservices gateway using a sidecar proxy |
CN111130892A (zh) * | 2019-12-27 | 2020-05-08 | 上海浦东发展银行股份有限公司 | 一种企业级微服务的管理系统及方法 |
CN111176723A (zh) * | 2019-12-31 | 2020-05-19 | 上海道客网络科技有限公司 | 基于服务网格和链路版本的服务多版本发布系统与方法 |
US20210273918A1 (en) * | 2020-03-02 | 2021-09-02 | Cisco Technology, Inc. | Policy based personally identifiable information leakage prevention in cloud native enviroments |
CN111638945A (zh) * | 2020-06-09 | 2020-09-08 | 中国电力工程顾问集团中南电力设计院有限公司 | 基于容器技术的分散控制系统 |
CN113296927A (zh) * | 2020-06-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 服务网格实例的构建方法、服务网格系统以及多集群系统 |
CN112000365A (zh) * | 2020-08-24 | 2020-11-27 | 百度时代网络技术(北京)有限公司 | 基于微服务架构的服务网格配置方法、装置、设备和介质 |
CN112351106A (zh) * | 2020-11-12 | 2021-02-09 | 四川长虹电器股份有限公司 | 一种含事件网格的服务网格平台及其通信方法 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
CN112860342A (zh) * | 2021-02-10 | 2021-05-28 | 北京百度网讯科技有限公司 | 微服务配置的方法、装置、设备、系统以及存储介质 |
Non-Patent Citations (5)
Title |
---|
INFOQ: "服务网格在百度核心业务大规模落地实践", 《HTTPS://WWW.SOHU.COM/A/489199205_355140》 * |
MARCUS SCHIESSER: "Service Mesh框架对比:Linkerd vs. Istio", 《HTTPS://WWW.SOHU.COM/A/302348441_671228》 * |
沈林强: "基于服务网格的物联网平台研究与实现", 《信息科技辑》 * |
郑俊褒: "基于服务网格的微服务架构服务治理研究", 《计算机系统应用》 * |
陶志: "微服务建构Service Mesh的设计与应用", 《计算机应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071744A1 (zh) * | 2021-10-29 | 2023-05-04 | 中兴通讯股份有限公司 | 服务网格中边车部署的方法、装置、电子设备和存储介质 |
CN114024826A (zh) * | 2022-01-05 | 2022-02-08 | 苏州博纳讯动软件有限公司 | 基于服务网格技术实现分布式esb场景下的应用多活系统 |
CN114024826B (zh) * | 2022-01-05 | 2022-04-12 | 江苏博云科技股份有限公司 | 基于服务网格技术实现分布式esb场景下的应用多活系统 |
CN114465878A (zh) * | 2022-02-28 | 2022-05-10 | 中国工商银行股份有限公司 | 一种服务端口切换方法及装置 |
CN114465878B (zh) * | 2022-02-28 | 2024-06-07 | 中国工商银行股份有限公司 | 一种服务端口切换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023071744A1 (zh) | 2023-05-04 |
CN113709707B (zh) | 2022-03-15 |
EP4418704A1 (en) | 2024-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113709707B (zh) | 服务网格中边车部署的方法、装置、电子设备和存储介质 | |
CN107924383B (zh) | 用于网络功能虚拟化资源管理的系统和方法 | |
CN108712332B (zh) | 一种通信方法、系统和装置 | |
EP3703337B1 (en) | Mobile edge host-machine service notification method and apparatus | |
EP3745678B1 (en) | Storage system, and method and apparatus for allocating storage resources | |
CN110633175B (zh) | 基于微服务的多机房数据处理方法、电子设备及存储介质 | |
CN108683618B (zh) | 通信设备和智能终端 | |
US8886838B2 (en) | Method and system for transferring packets to a guest operating system | |
JP2019525604A (ja) | ネットワーク機能nf管理方法及びnf管理装置 | |
CN115102896B (zh) | 数据广播方法、广播加速器、noc、soc及电子设备 | |
WO2022056845A1 (en) | A method of container cluster management and system thereof | |
EP3893437B1 (en) | Method and device for deploying virtual network function | |
CN116566984A (zh) | 一种k8s容器集群的路由信息创建方法、装置及电子设备 | |
CN114979286A (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN117061338B (zh) | 基于多网卡的服务网格数据处理方法、装置及系统 | |
WO2024078634A1 (zh) | 服务管理方法、系统、装置、电子设备及存储介质 | |
CN114172753B (zh) | 地址预留的方法、网络设备和系统 | |
CN109698845B (zh) | 数据传输的方法、服务器、卸载卡及存储介质 | |
JP2015099547A (ja) | ソフトウェア更新方法、ソフトウェア更新装置、ソフトウェア更新プログラム、及びソフトウェア更新システム | |
CN115987872A (zh) | 一种基于资源路由的云系统 | |
CN114911577A (zh) | 网络隔离规则的设置方法、装置、设备及存储介质 | |
CN113079128B (zh) | 信息封堵方法、装置、计算设备及计算机存储介质 | |
CN114157455A (zh) | 一种数据传输方法、装置、设备以及存储介质 | |
CN115733743A (zh) | 网络业务部署方法、nfvo以及nfv系统 | |
WO2023035777A1 (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 |