CN112771820B - 服务网格内的区分式服务 - Google Patents
服务网格内的区分式服务 Download PDFInfo
- Publication number
- CN112771820B CN112771820B CN201980061924.3A CN201980061924A CN112771820B CN 112771820 B CN112771820 B CN 112771820B CN 201980061924 A CN201980061924 A CN 201980061924A CN 112771820 B CN112771820 B CN 112771820B
- Authority
- CN
- China
- Prior art keywords
- message
- service
- services
- grid
- microservices
- 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
Images
Classifications
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2491—Mapping quality of service [QoS] requirements between different networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于区分服务网格内的服务的系统、方法和计算机可读介质。转换器服务从通信网络接收定向到服务网格的网络流量。转换器服务可以确定网络流量的服务特性,并基于所确定的服务特性来更新服务网格内的规则集。类似于通信网络内的转发规则,更新后的规则集使得服务网格能够区分针对网络流量的服务。
Description
相关申请的交叉引用
本申请要求于2018年10月10日递交的题为“DIFFERENTIATED SERVICES WITHIN ASERVICE MESH”(服务网格内的区分式服务)的美国非临时专利申请第16/156,987号的权益和优先权,该申请的全部内容通过引用明确地并入本文。
技术领域
本技术涉及联网技术,并且更具体地,涉及后端服务网格内的流量(traffic)优先次序。
背景技术
通信网络上的流量经常与诸如服务质量(QOS)之类的各种服务特性相关联,这些特性影响在整个通信网络中路由和处理流量的方式。例如,高服务质量(QOS)可以表明消息应始终在转发方面获得优先性,并且能够使得相关联的流量在整个通信网络中被转发和处理,代价是较低服务质量(QOS)的流量被延迟。
流量将常常会进入服务网格以进行处理。服务网格通常包括大量微服务,这些微服务提供用于处理数据的专用功能过程,并经由虚拟和/或本地网络被互连。一旦流量离开通信网络并进入微服务网格,在例如通信网络的数据平面上强制执行的转发和处理规则在微服务网格内不再适用。结果,服务特性等没被从通信网络维持到微服务网格中。
附图说明
为了描述可以获得本公开的以上提及的以及其他优点和特征的方式,将呈现对以上简要描述的原理的更具体描述,这通过参考在附图中示出的其特定实施例来进行。在理解这些附图仅描绘了本公开的示例性实施例因此不应被认为是对其范围的限制的情况下,通过使用附图以附加的特征和细节来描述和解释本文的原理,其中:
图1示出了根据各种实施例的示例通信网络环境;
图2示出了根据各种实施例的示例服务网格环境;
图3示出了根据各种实施例的用于在整个服务网格中应用服务区分规则集的示例方法;
图4示出了根据各种实施例的用于使用基于完全限定域名的寻址来区分服务网格内的服务的示例方法;
图5示出了根据各种实施例的用于使用指示符启发法来区分服务网格内的服务的示例方法;
图6示出了根据各种实施例的示例网络设备;以及
图7示出了根据各种实施例的示例计算设备。
附件的简要描述:
通过引用并入本文的所附文件包括多个绘图、说明、快照、图和/或其他公开内容,它们提供了主题技术的各个方面的细节以及对其进一步的理解。
具体实施方式
下面详细讨论本公开的各种实施例。尽管讨论了具体的实现方式,但应理解这样做仅是为了说明的目的。相关领域内的技术人员将认识到,可使用其他组件和配置,而不背离本公开的精神和范围。因此,以下描述和附图是说明性的,并且不应被解释为限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在某些情形下,为了避免使描述不清楚,没有描述众所周知的或常规的细节。在本公开中对一个实施例或一实施例的引用可以是对相同实施例或任何实施例的引用;并且,这样的引用意味着至少一个实施例。
本说明书中通篇对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”不一定全都指代同一实施例,也不是与其他实施例相互排斥的单独的或替代的实施例。此外,描述了可以由一些实施例而不由其他实施例展现的各种特征。
本说明书中使用的术语,在本公开的上下文中,以及在使用每个术语的具体上下文中,一般具有其在本领域中的普通含义。针对本文讨论的一个或多个术语,可以使用替代语言和同义词,不应就本文是否详细描述或讨论术语而施加特殊意义。在一些情况下,提供了某些术语的同义词。一个或多个同义词的记载不排除使用其他同义词。本说明书中任何地方对示例(包括本文讨论的任何术语的示例)的使用仅是说明性的,并且不意在进一步限制本公开或任何示例术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
在不意图限制本公开的范围的情况下,下面给出根据本公开的实施例的工具、装置、方法及其相关结果的示例。注意,为了方便读者,可以在示例中使用标题或副标题,这绝不应该限制本公开的范围。除非另外进行定义,否则本文所使用的技术和科学术语具有如本公开所属的领域的普通技术人员通常所理解的含义。在发生冲突的情况下,以本文件(包括定义)为准。
本公开的附加特征和优点将在下面的描述中阐述,并且部分地将是从该描述中可见的,或者可以通过实践本文所公开的原理来获悉的。可以通过在所附权利要求中特别指出的工具和组合来实现和获得本公开的特征和优点。本公开的这些及其他特征将根据以下描述和所附权利要求书而变得更加明显,或者可以通过实践本文阐述的原理来被获悉。
概览
在独立权利要求中陈述了本发明的各方面并在从属权利要求中陈述了优选特征。一个方面的特征可以单独地或与其他方面结合地应用于每个方面。
转换器服务从通信网络接收定向到服务网格的网络流量。转换器服务可以确定网络流量的服务特性,并基于所确定的服务特性来更新服务网格内的规则集。与通信网络内的转发规则类似,更新的规则集使得服务网格能够区分针对网络流量的服务。
在一些示例中,规则集可以包括基于目的地的区分。具体地,服务网格内的微服务可以专用于某些服务特性,并且可以基于与网络流量在被接收时确定的服务特性相对应的专用微服务来确定目的地。在一些示例中,规则集可以包括与确定的服务特性相对应的启发式值,例如颜色编码。此外,可以至少部分基于在流量进入服务网格之前被注入到流量中的启发式值来在整个服务网格中转发服务网格内的流量。
还描述了用于实现本文描述的方法的系统和装置,包括网络节点、计算机程序、计算机程序产品、计算机可读介质以及编码在有形介质上的用于实现方法的逻辑。
示例实施例
主题技术的各个实施例涉及对用于通信网络的后端服务网格内的服务划分优先次序。随着消息跨通信网络的渗透,通常向网络流量应用诸如服务质量(QOS)标记之类的服务特性。但是,一旦消息进入相互通信的微服务的服务网格,可能无法基于服务特性标记来跨微服务对流量划分优先次序,因为分组是按照从一个微服务到另一微服务的方式来处理的。
微服务网格可以包含控制平面代理,该控制平面代理用于对与包括微服务网格在内的整个网络中的相应网络容器相关联的边车(sidecar)进行实例化。此外,控制平面代理可以对边车上的路由规则和策略进行实例化,以将API调用从微服务网格的内部和外部引导到适当的微服务(或微服务组)。API调用本身、cookie(例如,与发起方相关联的文本编码的静态信息)和/或消息内的应用头部信息可用于标识每个循序服务在用于处理API调用消息的微服务网格内的位置(例如,端口、域名等)。一般而言,控制平面代理,以至于微服务网格,对于大体相似的API调用等可能缺乏服务区分。例如,与从服务_A到服务_B的API调用类型_2相比,从服务_A到服务_B的API调用类型_1可在应用和网络转发层中要求更高的优先级(例如,在网络转发层中具有更高的服务质量(QOS))。API调用类型可以反映特定的发起方(例如,订户身份)或用来发送API调用的服务特性(例如,服务质量(QOS)等)。
在一个示例中,网络流量可以首先被分类为若干类别中的一种或多种。例如,基于网络的应用辨识(NBAR)或应用可见性及控制(AVC)服务可以基于消息特性(例如,与消息相关联的所有权/订户信息)或消息内包括的信息(例如,服务质量(QOS)信息等),对通过网络的消息进行分类。
基于网络的应用辨识(NBAR)或应用可见性及控制(AVC)服务可以由诸如针对传入流量的路由器之类的网络应用来提供,或者由丰富域名服务(DNS)作为标签(例如,域名服务作为权威源(domain name service as authoritative source,DNS-AS))返回。然而,可以将流量流(例如,消息)分类为可能的流量类别,例如但不限于,流量类别、业务相关性类别(例如,与业务有关的、默认的、与业务无关的)、以及区分式服务代码点(DSCP)类别。例如,流量流或一系列消息可以与第一用户相关联并被确定为业务关键的,而第二流或一系列消息可以与第二用户相关联并被确定为业务相关的(例如,优先级低于业务关键的,等等)。在一些示例中,经分类或标注的流量可以根据类别来进行标记,并且被提供给服务质量(QOS)感知负载平衡器。为了标记流量,可以在相关联的消息头部中包括标志,或者将带有标记信息的在前的消息连同流量的相应消息一起发送。负载平衡器可以解释该标记,从而基于该标记所表示的类别对服务网格内的流量流划分优先次序。
在一些示例中,服务质量(QOS)转换器可以在负载平衡器接收之前接收带标记的流量,以便针对带标记的流量确定适当的规则(例如,服务网格流量流等)。结果,负载平衡器不必是服务质量(QOS)感知的。取而代之的是,转换器可以在负载平衡器接收到相应的流量之前,将确定的规则发送到负载平衡器。此外,与服务网格内的各种微服务(例如,与相应流量对应的那些微服务)相关联的边车也可以基于流量标记来从转换器接收规则。
实际上,服务网格的转发逻辑可以被转换器经由确定的规则来修改,以遵循联网服务质量(QOS)技术等。例如,可以通过转换器针对带标记的流量适当地更新规则,来在服务网格中强制实施网络级的近似公平丢弃(approximate fair dropping,AFD)规则。被标记为,例如但不限于,业务关键的或与业务相关的(例如,高重要性)的业务可以在所有其他流量之前被转发,或者被转发到服务网格内的专用切片(slice)。可以根据目标带宽和突发速率,通过服务网格转发中等重要性的流量。仅当不存在其他流量时,重要性较低的流量才能通过服务网格被转发。可以在接收到流量时将所述规则提供给所指示的边车。
如下所示,微服务网格的流优先级规则集可以对应于网络规则集,并可以从网络规则集产生。例如但不加限制,微服务网格规则集可以应用基于类别的加权公平排队(class based weighted fair queuing,CBDWFQ)和/或低时延排队(LLQ)方案,它们分别确定基于与发送相关联的附加权重的优先级和基于与发送相关联的时延特性的增高的优先级。
在上面的摘录中,与“用户_1”(此处被表示为“regex”或正则表达式(regularexpression),位于消息的cookie内)匹配的流量针对微服务实例“v2”被分配以25%的权重或按比例的分配,并且针对微服务实例“v1”被分配以75%的权重。相比之下,在相应cookie字段中包括针对“用户_2”的regex的消息会经历5秒的延迟,该延迟被应用于10%的流量。尽管上述摘录的规则相对简单,但是规则集可以需要多复杂就有多复杂。例如,在下面的摘录中,规则规定在一般情形下用户_2流量接收100%的微服务实例v1的资源。但是,在检测到来自用户_1的流量的情况下,用户_2流量仅接收30%的vl资源,而用户_1流量接收70%的vl资源。
可以在如下情况下生成上面的摘录:其中,例如,转换器从用户_1接收到根据区分式服务代码点(DSCP)被标示为关键业务(例如,CS4)的网络流量,并从用户_2接收到根据所述DSCP被标示为具有相对较低的保证转发等级(例如,AF13)的网络流量。可以在流量进入服务网格之前通过应用可见性及控制(AVC)服务来执行标示。因此,可以在微服务实例之间平衡来自用户_1的流量,以实现更快的处理,而来自用户_2的流量被延迟以考虑用户_1的流量。
可以将已转换的规则(例如,上面的摘录)提供给微服务和/或微服务实例的边车,以便在相应网络流量所穿过的微服务网格上强制实施这些规则。例如,可以将上述摘录只提供给微服务v1和v2,和/或相应的边车,因为它们是相应规则集所指示的仅有的微服务实例。此外,在前的微服务(例如,向v1和v2提供流量的微服务)也可以接收这些规则集,以确保微服务网格流量与其网络流量对应方类似。由于网络流量流与微服务网格流量流的对等性,用户可以避免由于网络与微服务网格优先级逻辑不匹配而导致的不一致的服务质量。
在另一示例中,可以通过使用基于完全限定域名(FQDN)的寻址生成路由规则以形成微服务网格流量,来提供服务网格内的端到端服务质量(QOS)处置。例如,可以基于检测到的针对相应消息的服务特性(例如,服务质量(QOS)等),使用不同的微服务实例名称标识符来转发消息。下面的摘录示出了这种情况的一个示例:
具体而言,上面的规则集将使得边车把来自源“评论”的如下任何接收到的消息转发到完全限定域名(FQDN)API-高-优先级.默认.srv.entity.local(例如,由“名称”、“名称空间”和“域”字段定义的目的地):这些消息包括具有正则表达式“高-优先级-通路”的cookie。来自“评论”源的所有其他消息(例如,缺少具有正则表达式“高-优先级-通路”的cookie)将在“API-低-优先级”下进行处理,并将被转发到完全限定域名(FQDN)API-低-优先级.默认.srv.entity.local。
另外,可以针对每个完全限定域名(FQDN)利用不同的互联网协议(IP)地址对微服务网格的域名服务(DNS)(例如,kube-DNS等)进行编程,使得可以正确地在微服务网格内解析转发。下面的摘录说明了用于域名服务(DNS)(这里是kube-DNS)的规则集,其从本地保留范围来分配地址。
种类:ConfigMap
元数据:
名称:kube-dns
名称空间:kube-系统
数据:
stubDomains:|
{“API-高-优先级.默认.srv.entity.local”:[“2001:ABCD::1”]}
{“API-低-优先级.默认.srv.entity.local”:[“2001:ABCD::2”]}
使用例如与转换器通信的矢量分组处理(VPP)服务,可以识别相关的服务特性(例如服务质量(QOS)处置等)并且可以把与上面的摘录相对应的经转换的地址信息注入到经处理的消息中,使得相关的传播和目标地址信息被包括在头部部分中。例如,可以将下面的摘录注入到头部中:
2001:ABCD::1-->2001:2222::1;DSCP=EF
2001:ABCD::2-->2001:2222::1;DSCP=默认
在一些示例中,转换器可以增强名称解析系统或域名服务(DNS)(例如kube-dns)以包括启发式指示符,例如但不限于,颜色编码系统等。实际上,可以为每个名称空间分配一种或多种颜色,每种颜色与服务特性(例如,服务质量(QOS)等)值相关联。然后,服务网格规则集可以使用该颜色来相应地路由消息通过服务网格。下面的摘录说明了用于实现增强型颜色编码系统的示例路由规则和域名服务(DNS)规则集:
图1描绘了用于在网络连接的设备之间传输消息的操作环境100。网络连接的设备可以包括计算机、移动设备、智能电话、服务器等。网络连接的设备通过通信网络102进行通信。通信网络102可以是互联网、移动网络、局域网(LAN)、或前述各项的组合等等。
如图1所示,每个计算机104A-B分别通过通信网络102与服务器106通信。通信网络102包括网络跃点(hop)A-G。跃点A-G包括用于通过通信网络102转发网络流量(例如,消息等)的路由器、交换机等。具体而言,跨跃点A-G的流量流可以由数据平面来管理,该数据平面定义了转发、路由、丢包率、延迟和对于本领域普通技术人员而言将显而易见的其他规则。
跃点A-G在流量被输出到服务器106之前将流量转发到服务网格110。在一些示例中,服务网格110可以提供API调用、服务调用、转化等,以用于在通信网络102和服务器106之间交换流量。
在此,通信网络102以与计算机104B相关联的流量不同的方式来管理与计算机104A相关联的网络流量。具体而言,如实线所表明的,来自计算机104A的消息在被服务网格110接收之前,被转发通过跃点A、C、F和G。在一些示例中,与通信网络102相关联的数据平面可以负责确定穿过网络的所述路径。例如,来自计算机104A的消息可以包括指示更高的服务质量(QOS)等的服务特性,并且因此可以通过优选的路由器被转发(例如,以保持高速、低时延等)。
相比之下,来自计算机104B的消息遵循由虚线表明的穿过通信网络102的路径。此处,从计算机104B到服务器106的消息在被服务网格110接收之前,被转发通过跃点A、B、D和E。由虚线表明的路由路径可以表明较低的服务质量(相对于计算机104A的流量)或其他区分式服务特性。但是,尽管来自计算机104A-B的流量可以通过通信网络102的数据平面来被区分,但数据平面可能无法继续区分服务网格110内针对流量的服务。
图2描绘了能够在服务网格环境200的多个微服务之间针对流量区分服务的服务网格环境200。服务网格环境200可以例如是以上讨论的服务网格110。具体而言,服务网格环境200从诸如通信网络102之类的连接的网络环境接收网络流量。
服务网格环境200包括转换器202,该转换器202接收网络流量,与形成服务网格的多个微服务通信。在此,微服务包括负载平衡器212、服务1 216、服务2 220和服务n 224(例如,表明任意数量的微服务,这些微服务可以根据需要(例如,基于网络负载等)而被实例化和/或停用)。
转换器202包括策略引擎204、区分服务(diffserv)206、规则应用编程接口(API)208、和边车应用编程接口(API)210。转换器202生成规则集,这些规则集用于在服务216-224之间区分针对消息(例如,网络流量)的服务。具体而言,转换器202使用边车应用编程接口(API)210来与负载平衡器212和服务216-224通信。边车应用编程接口(API)210可使得转换器202能够与以下项直接通信:与负载平衡器212相关联的边车-lb 214,和分别与服务1-n 216、220、224相关联的边车s1-sn 218、222、226。
转换器202通过以下方式来生成规则集:从边车214、218、222、226取回当前规则集,并且从策略引擎204取回与所接收的网络流量有关的服务策略(例如,负载概率、丢包率、转发信息等)。区分服务206可以从遵守服务策略的规则集中识别当前规则集之间的不匹配。然后,转换器202可以基于由区分服务206标识的差异来产生一致的规则集。
图3描绘了用于使得能够通过服务网格(例如,比如服务网格110等)提供区分式服务的方法300。在一些示例中,转换器202执行方法300,以便跨各种微服务216-224更新规则集。
转换器服务(例如,转换器202)在步骤302接收网络流量。在一些示例中,转换器服务可以是后端服务网格的一部分,或者充当网关服务或门户(例如,针对进入服务网格的流量充当传递口(pass-through))。在一些示例中,转换器服务的多个实例化可以同时操作,以便促进并平滑进入和通过服务网格的流量。
在步骤304,转换器确定与所接收的网络流量相关联的服务特性,例如服务质量(QOS)。例如,服务特性可以被指示在网络流量的一个或多个消息的相应头部中。在一些示例中,为了确定服务特性,转换器可以观察与跨过相关联通信网络的流量有关的转发行为(例如,通过与网络数据平面的通信、与诸如策略控制功能(PCF)之类的策略服务的集成等)。
然而,在步骤306,转换器基于所确定的服务特性来针对服务网格生成转发规则集。在一些示例中,这可以是基于规则的生成,其中某些预定服务特性在检测时各自引起针对服务网格的某些相应的预定转发规则集被生成。在一些示例中,概率性或学习的规则可以用于生成转发规则集,或以上的某种组合。规则集可以表明:哪些服务和/或服务实例化接收哪些流量或多大比例的流量,用于处理流量的优先次序方案,通过服务网格的转发路径,或这些和其他服务区分特征的某种组合。
然后在步骤308,为了更新通过服务网格的流量流,向服务内的一个或多个边车生成转发规则集。具体而言,可以经由例如边车应用编程接口(API)210等将规则集提供给与服务网格内的相应微服务相关联的边车。结果,服务网格可以以与经由数据平面在较大的通信网络内发生的情况类似的方式来区分服务的配设。
图4描绘了用于基于将目的地与服务特性相关联来通过服务网格转发流量的方法400。换言之,服务网格的部分可以被分配以特定的服务特性,例如分配给网络流量的服务质量(QOS)等。实际上,可以以类似于通信网络的方式对服务网格进行切片。
在步骤402,例如由服务网格接收网络流量。在一些示例中,除方法300外或替代方法300,方法300的转换器接收网络流量并执行方法400,该转换器充当进入服务网格的门户或网关。在一些示例中,负载平衡器实例化(例如,以上讨论的负载平衡器212)接收网络流量,并且包括规则集,该规则集包括以下将进一步讨论的方法400。
在步骤404,识别诸如服务质量(QOS)等之类的服务特性,该服务特性与所接收的网络流量的源相对应。服务特性可以被包括在网络流量的相应消息的头部内,或者可以通过与诸如策略控制功能(PCF)等之类的策略引擎进行通信来被取回。在某些示例中,头部内的cookie值(例如订户名称、起源地址、策略组等)可用于确定服务特性。
然后,在步骤406,可以使用服务特性来确定网络流量的目的地地址。例如,查找表可用于针对流量检索服务网格内的目的地地址。在一些示例中,目的地地址可以在流量继续向下游(例如,进入服务网格)之前被注入到流量中。在一些示例中,目的地地址可以指示针对该流量的下一跃点或服务,在该下一跃点或服务处,该流量可以被类似地处理(例如,使用服务特性来确定另一下一个目的地)。然而,在步骤408,向所确定的目的地地址转发流量。
图5描绘了用于使用启发式指示符来通过服务网格转发流量的方法500。可以在服务网格内每个参与的微服务处使用启发式指示符来确定下一站。例如,每个微服务可以包括在某种程度上与启发式的各种值相关联的可用的下一站的列表。
在步骤502,例如,由转换器202或诸如负载平衡器212之类的另一网关或门户服务接收网络流量。网络流量包括消息,这些消息包括相应的头部。在一些示例中,这些头部包括,例如但不限于,元数据、目的地信息、起源信息、和各种其他字段。
在步骤504,基于确定的服务特性(例如,服务质量(QOS)等),将启发式值注入到头部中。启发式值可以是任何足够可区分的类型。例如,可以应用颜色编码,其中将高优先级消息编码为红色(例如,将颜色值插入到消息头部的元数据字段中)、将默认优先级编码为黄色、将低优先级编码为绿色。
在步骤506,然后基于与启发式值相对应的规则集来通过服务网格(例如,服务网格110)转发网络流量。例如,接收网络流量的每个微服务可以取回消息头部中的颜色编码,并且在处理消息之后,至少部分地基于颜色代码将消息和/或处理结果转发到下一微服务(例如,编码为红色的消息可被转发到高性能微服务,以便提供特定的速度或时延保证等)。
本公开现在转向图6和图7,其示出了示例网络设备和计算设备,例如,交换机、路由器、负载平衡器、客户端设备等等。
图6示出了适合于执行交换、路由、负载平衡和其他联网操作的示例网络设备600。网络设备600包括中央处理单元(CPU)604、接口602和总线610(例如,PCI总线)。当在适当的软件或固件的控制下动作时,CPU 604负责执行分组管理、错误检测和/或路由功能。CPU604优选地在包括操作系统和任何适当应用软件的软件的控制下完成所有这些功能。CPU604可以包括一个或多个处理器608,例如来自INTEL X86系列微处理器的处理器。在某些情况下,处理器608可以是专门设计的硬件,用于控制网络设备600的操作。在一些情况下,存储器606(例如,非易失性RAM、ROM等)也形成CPU 604的一部分。但是,有多种不同的方式可以将存储器耦合到系统。
接口602通常被提供为模块化接口卡(有时称为“线卡”)。一般而言,它们控制网络上对数据分组的发送和接收,有时还支持与网络设备600一起使用的其他外围设备。可以提供的接口中包括以太网接口、帧中继接口、线缆接口、DSL接口、令牌环接口等。此外,可以提供各种非常高速的接口,例如快速令牌环接口、无线接口、以太网接口、千兆以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、WIFI接口、3G/4G/5G蜂窝接口、CAN BUS、LoRA等。一般而言,这些接口可以包括适合于与适当的媒介进行通信的端口。在一些情况下,它们还可以包括独立的处理器,并且在一些情形下还可以包括易失性RAM。独立的处理器可以控制诸如分组交换、媒介控制、信号处理、加密处理和管理之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许主微处理器604有效地执行路由计算、网络诊断、安全功能等。
尽管图6所示的系统是本发明的一个具体的网络设备,但它绝不是唯一可在其上实现本发明的网络设备架构。例如,经常使用具有单个处理器的架构,该单个处理器处理通信以及路由计算等。此外,其他类型的接口和媒介也可以与网络设备600一起使用。
无论网络设备的配置如何,它都可以采用一个或多个存储器或存储器模块(包括存储器606),这些存储器或存储模块被配置为存储用于通用网络操作的程序指令以及用于本文所述的漫游、路由优化和路由功能的机制。程序指令可以控制例如操作系统和/或一个或多个应用的操作。一个或多个存储器还可以被配置为存储诸如移动性绑定、注册、和关联表之类的表。存储器606还可以容纳各种软件容器以及虚拟化的执行环境和数据。
网络设备600还可以包括专用集成电路(ASIC),该专用集成电路(ASIC)可以被配置为执行路由和/或交换操作。例如,ASIC可以经由总线610与网络设备600中的其他组件通信,以交换数据和信号并协调网络设备600进行的各种类型的操作,例如路由、交换和/或数据存储操作。
图7示出了计算系统架构700,其中系统的组件使用诸如总线之类的连接705彼此电通信。示例性系统700包括处理单元(CPU或处理器)710和系统连接705,系统连接705将包括系统存储器715在内的各种系统组件(比如只读存储器(ROM)720和随机存取存储器(RAM)725)耦合到处理器710。系统700可以包括与处理器710直接相连、紧密相邻或集成为其一部分的高速存储器的缓存。系统700可以将数据从存储器715和/或存储设备730复制到缓存712,以供处理器710快速访问。以这种方式,缓存可以提供性能提升,从而避免了处理器710在等待数据时的延迟。这些模块和其他模块可以控制或被配置为控制处理器710执行各种动作。其他系统存储器715也可供使用。存储器715可以包括具有不同性能特性的多种不同类型的存储器。处理器710可以包括任何通用处理器和硬件或软件服务(例如存储在存储设备730中的服务1 732,服务2 734和服务3 736),它们被配置为控制处理器710,并且处理器710可以包括在实际的处理器设计中结合了软件指令的专用处理器。处理器710可以是完全独立的计算系统,包含多个核或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或非对称的。
为了使得用户能够与计算设备700交互,输入设备745可以代表任何数量的输入机构,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出设备735也可以是本领域技术人员已知的许多输出机构中的一个或多个。在一些情形下,多模式系统可以使得用户能够提供多种类型的输入以与计算设备700通信。通信接口740一般可以支配和管理用户输入和系统输出。对于在任何特定硬件布置上的操作没有限制,因此随着改进的硬件或固件布置被开发出,可以很容易地将此处的基本特征替换为这些改进的硬件或固件布置。
存储设备730是非易失性存储器,并且可以是能够存储可由计算机访问的数据的硬盘或其他类型的计算机可读介质,例如磁带盒、闪存卡、固态存储器设备、数字通用盘、盒式磁带、随机存取存储器(RAM)725、只读存储器(ROM)720、以及它们的混合体。
存储设备730可以包括用于控制处理器710的服务732、734、736。可以设想其他硬件或软件模块。存储设备730可以连接到系统连接705。在一个方面,执行特定功能的硬件模块可以包括被存储在计算机可读介质中的软件组件,该软件组件与诸如处理器710、连接705、输出设备735等之类的必要硬件组件相结合,以执行功能。
为了解释的清楚起见,在某些情况下,本技术可以被呈现为包括个体功能块,这些个体功能块包括如下功能块,其包括设备、设备组件、体现在软件或者硬件与软件的组合中的方法的步骤或例程。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的线缆或无线信号。然而,当提及时,非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
可以使用存储在计算机可读介质中或可以其他方式从计算机可读介质获取的计算机可执行指令来实现根据上述示例的方法。这样的指令可以包括例如引起或以其他方式配置通用计算机、专用计算机或专用处理设备来执行某种功能或功能组的指令和数据。所使用的计算机资源的部分可以是通过网络可访问的。计算机可执行指令可以是例如二进制、中间格式指令,例如汇编语言、固件或源代码。可用于对指令、在根据所述示例的方法期间创建的信息和/或使用的信息进行存储的计算机可读介质的示例包括磁盘或光盘、闪存、配备有非易失性存储器的USB设备、联网存储设备等等。
实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可以采用各种外形参数中的任何一种。这样的外形参数的典型示例包括膝上型计算机、智能电话、小外形参数个人计算机、个人数字助理、机架安装设备、独立设备等等。本文描述的功能也可以体现在外围设备或附加卡中。作为进一步的示例,还可以在单个设备中执行的不同芯片或不同过程之间的电路板上实现这种功能。
指令、用于传达这种指令的介质、用于执行它们的计算资源、以及用于支持这种计算资源的其他结构是用于提供这些公开内容中所描述的功能的工具。
尽管使用各种示例和其他信息来解释所附权利要求范围内的各方面,但是不应基于此类示例中特定的特征或布置来暗示对权利要求的限制,因为本领域的普通技术人员将能够使用这些示例来得出各种各样的实现方式。此外,虽然已经以特定于结构特征和/或方法步骤的示例的语言描述了某主题,但是应理解,所附权利要求中限定的主题不必受限于这些描述的特征或动作。例如,这种功能可以不同地被分布或在除本文所标识的那些组件之外的组件中被执行。而是,所描述的特征和步骤被作为在所附权利要求的范围内的系统和方法的组成部分的示例而公开。
记述“……中的至少一个”的权利要求语言指的是集合中的至少一者,并且表明该集合中的一个成员或该集合中的多个成员满足该权利要求。例如,记述“A和B中的至少一个”的权利要求语言意味着A、B、或A和B。
Claims (27)
1.一种用于对服务网格内的服务进行区分的方法,该方法包括:
由转换器在通信网络上接收消息以供服务网格进行处理,该消息包括用于在所述通信网络上为所述消息服务的服务特性,并且所述服务网格包括一个或多个微服务;
由所述转换器基于所述服务特性来生成用于在所述服务网格内为所述消息服务的规则集,该规则集包括转发规则或负载平衡规则中的一者;
由所述转换器将所述规则集发送到所述一个或多个微服务中的至少一个微服务;以及
由所述转换器将所述消息发送到所述服务网格。
2.如权利要求1所述的方法,还包括:
由所述转换器将与所述服务特性相对应的启发式指示符注入到所述消息中;
其中,所述服务网格基于所述启发式指示符来处理所述消息。
3.如权利要求1或2所述的方法,还包括:
由所述转换器将所述消息的目的地注入到所述消息中,该目的地与所述服务特性相关联;
其中,所述服务网格的所述一个或多个微服务中的每个微服务分别与一个或多个相应的消息目的地相关联,所述一个或多个相应的消息目的地的至少一部分包括所述消息的目的地。
4.如权利要求1或2所述的方法,其中,所述一个或多个微服务中的每个微服务与相应的边车相关联。
5.如权利要求1或2所述的方法,其中,所述一个或多个微服务是经实例化的服务。
6.如权利要求1或2所述的方法,其中,所述一个或多个微服务包括至少一个负载平衡器微服务。
7.如权利要求1或2所述的方法,其中,所述服务特性包括服务质量(QOS)。
8.一种用于对服务网格内的服务进行区分的系统,该系统包括:
一个或多个处理器;
服务网格,包括用于处理通信网络上的消息的一个或多个微服务,所述消息包括用于在所述通信网络上为所述消息服务的相应的服务特性;以及
存储器,存储有指令,所述指令当被所述一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:
由转换器在所述通信网络上接收至少一个消息以供所述服务网格进行处理;
由所述转换器基于所述服务特性来生成用于在所述服务网格内为所述消息服务的规则集,该规则集包括转发规则或负载平衡规则中的一者;
由所述转换器将所述规则集发送到所述一个或多个微服务中的至少一个微服务;以及
由所述转换器将所述消息发送到所述服务网格。
9.如权利要求8所述的系统,其中,所述存储器还包括当被所述一个或多个处理器执行时使得所述一个或多个处理器进行以下操作的指令:
由所述转换器将与所述服务特性相对应的启发式指示符注入到所述消息中;
其中,所述服务网格基于所述启发式指示符来处理所述消息。
10.如权利要求8或9所述的系统,其中,所述存储器还包括当被所述一个或多个处理器执行时使得所述一个或多个处理器进行以下操作的指令:
由所述转换器将所述消息的目的地注入到所述消息中,该目的地与所述服务特性相关联;
其中,所述服务网格的所述一个或多个微服务中的每个微服务分别与一个或多个相应的消息目的地相关联,所述一个或多个相应的消息目的地的至少一部分包括所述消息的目的地。
11.如权利要求8或9所述的系统,其中,所述一个或多个微服务中的每个微服务与相应的边车相关联。
12.如权利要求8或9所述的系统,其中,所述一个或多个微服务是经实例化的服务。
13.如权利要求8或9所述的系统,其中,所述一个或多个微服务包括至少一个负载平衡器微服务。
14.如权利要求8或9所述的系统,其中,所述服务特性包括服务质量(QOS)。
15.一种计算机可读介质,存储有指令,所述指令当被一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:
由转换器在通信网络上接收消息以供服务网格进行处理,该消息包括用于在所述通信网络上为所述消息服务的服务特性,并且所述服务网格包括一个或多个微服务;
由所述转换器基于所述服务特性来生成用于在所述服务网格内为所述消息服务的规则集,该规则集包括转发规则或负载平衡规则中的一者;
由所述转换器将所述规则集发送到所述一个或多个微服务中的至少一个微服务;以及
由所述转换器将所述消息发送到所述服务网格。
16.如权利要求15所述的计算机可读介质,还包括当被所述一个或多个处理器执行时使得所述一个或多个处理器进行以下操作的指令:
由所述转换器将与所述服务特性相对应的启发式指示符注入到所述消息中;
其中,所述服务网格基于所述启发式指示符来处理所述消息。
17.如权利要求15或16所述的计算机可读介质,还包括当被所述一个或多个处理器执行时使得所述一个或多个处理器进行以下操作的指令:
由所述转换器将所述消息的目的地注入到所述消息中,该目的地与所述服务特性相关联;
其中,所述服务网格的所述一个或多个微服务中的每个微服务分别与一个或多个相应的消息目的地相关联,所述一个或多个相应的消息目的地的至少一部分包括所述消息的目的地。
18.如权利要求15或16所述的计算机可读介质,其中,所述一个或多个微服务中的每个微服务与相应的边车相关联。
19.如权利要求15或16所述的计算机可读介质,其中,所述一个或多个微服务包括至少一个负载平衡器微服务。
20.如权利要求15或16所述的计算机可读介质,其中,所述服务特性包括服务质量(QOS)。
21.一种用于对服务网格内的服务进行区分的设备,该设备包括:
用于通过转换器在通信网络上接收消息以供服务网格进行处理的装置,该消息包括用于在所述通信网络上为所述消息服务的服务特性,并且所述服务网格包括一个或多个微服务;
用于通过所述转换器基于所述服务特性来生成用于在所述服务网格内为所述消息服务的规则集的装置,该规则集包括转发规则或负载平衡规则中的一者;
用于通过所述转换器将所述规则集发送到所述一个或多个微服务中的至少一个微服务的装置;以及
用于通过所述转换器将所述消息发送到所述服务网格的装置。
22.如权利要求21所述的设备,还包括:
用于由所述转换器将与所述服务特性相对应的启发式指示符注入到所述消息中的装置;
其中,所述服务网格基于所述启发式指示符来处理所述消息。
23.如权利要求21或22所述的设备,还包括:
用于由所述转换器将所述消息的目的地注入到所述消息中的装置,该目的地与所述服务特性相关联;
其中,所述服务网格的所述一个或多个微服务中的每个微服务分别与一个或多个相应的消息目的地相关联,所述一个或多个相应的消息目的地的至少一部分包括所述消息的目的地。
24.如权利要求21或22所述的设备,其中,所述一个或多个微服务中的每个微服务与相应的边车相关联。
25.如权利要求21或22所述的设备,其中,所述一个或多个微服务是经实例化的服务。
26.如权利要求21或22所述的设备,其中,所述一个或多个微服务包括至少一个负载平衡器微服务。
27.如权利要求21或22所述的设备,其中,所述服务特性包括服务质量(QOS)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/156,987 | 2018-10-10 | ||
US16/156,987 US10951717B2 (en) | 2018-10-10 | 2018-10-10 | Differentiated services within a service mesh |
PCT/US2019/053583 WO2020076527A1 (en) | 2018-10-10 | 2019-09-27 | Differentiated services within a service mesh |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112771820A CN112771820A (zh) | 2021-05-07 |
CN112771820B true CN112771820B (zh) | 2022-09-09 |
Family
ID=68242862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980061924.3A Active CN112771820B (zh) | 2018-10-10 | 2019-09-27 | 服务网格内的区分式服务 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10951717B2 (zh) |
EP (1) | EP3864807B1 (zh) |
CN (1) | CN112771820B (zh) |
WO (1) | WO2020076527A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11249856B2 (en) * | 2018-10-25 | 2022-02-15 | EMC IP Holding Company LLC | Application consistent snapshots as a sidecar of a containerized application |
US10673749B1 (en) * | 2018-12-28 | 2020-06-02 | Paypal, Inc. | Peer-to-peer application layer distributed mesh routing |
US11121921B2 (en) * | 2019-01-15 | 2021-09-14 | Microsoft Technology Licensing, Llc | Dynamic auto-configuration of multi-tenant PaaS components |
CN113765965A (zh) * | 2020-08-21 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 服务网格系统的生成方法、装置、服务网格系统 |
US20210243247A1 (en) * | 2021-04-23 | 2021-08-05 | Intel Corporation | Service mesh offload to network devices |
US20230062741A1 (en) * | 2021-08-25 | 2023-03-02 | Capital One Services, Llc | Dynamic rule-based message routing systems |
CN113687919B (zh) * | 2021-08-30 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种微服务治理的控制方法、装置、设备及存储介质 |
US20230093868A1 (en) * | 2021-09-22 | 2023-03-30 | Ridgeline, Inc. | Mechanism for real-time identity resolution in a distributed system |
US11601393B1 (en) * | 2021-10-04 | 2023-03-07 | Cisco Technology, Inc. | Microservice visibility and control |
US12047357B2 (en) * | 2021-12-20 | 2024-07-23 | Intel Corporation | Secure application communications through sidecars |
US11563636B1 (en) * | 2022-02-15 | 2023-01-24 | International Business Machines Corporation | Dynamic management of network policies between microservices within a service mesh |
US11917000B2 (en) * | 2022-05-12 | 2024-02-27 | Bank Of America Corporation | Message queue routing system |
US20230379250A1 (en) * | 2022-05-20 | 2023-11-23 | Cisco Technology, Inc. | Forwarding decisions based on header compression in industrial networks |
US11968086B1 (en) * | 2023-01-18 | 2024-04-23 | Dell Products L.P. | Isolated environment provisioning in service mesh-based microservices systems |
CN116032806B (zh) * | 2023-03-27 | 2023-06-09 | 杭州谐云科技有限公司 | 一种流量染色方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719832A (zh) * | 2005-07-15 | 2006-01-11 | 复旦大学 | 一种规范驱动的网格工作流描述和验证方法 |
CN105493525A (zh) * | 2013-07-25 | 2016-04-13 | 康维达无线有限责任公司 | 服务层南向接口和服务质量 |
CN106921585A (zh) * | 2015-12-28 | 2017-07-04 | 中兴通讯股份有限公司 | 数据报文发送方法、装置和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8228798B2 (en) * | 2006-06-28 | 2012-07-24 | Cisco Technology, Inc. | QoS-aware service flow mapping in mobile wireless all IP networks |
EP2351424B1 (en) * | 2008-09-02 | 2017-05-10 | Philips Lighting Holding B.V. | Proxy mechanism for mesh-type networks |
US9973596B2 (en) * | 2013-06-19 | 2018-05-15 | Cisco Technology, Inc. | Dynamically adjusting frame MTU to support low-latency communication |
EP3148129A4 (en) * | 2014-06-26 | 2017-08-16 | Huawei Technologies Co., Ltd. | Method and device for controlling quality of service of software defined network |
US10230571B2 (en) | 2014-10-30 | 2019-03-12 | Equinix, Inc. | Microservice-based application development framework |
GB2539977A (en) * | 2015-06-30 | 2017-01-04 | British Telecomm | Communications Network |
US11146985B2 (en) * | 2015-10-28 | 2021-10-12 | Apple Inc. | Quality of service provisioning framework for a SDN-based cellular network architecture |
WO2017197307A1 (en) * | 2016-05-13 | 2017-11-16 | Level 3 Communications, Llc | User-based differentiated routing system and method |
US10432532B2 (en) * | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US11281499B2 (en) * | 2017-02-05 | 2022-03-22 | Intel Corporation | Microservice provision and management |
US11159421B2 (en) * | 2017-05-24 | 2021-10-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Routing table selection in a policy based routing system |
-
2018
- 2018-10-10 US US16/156,987 patent/US10951717B2/en active Active
-
2019
- 2019-09-27 WO PCT/US2019/053583 patent/WO2020076527A1/en unknown
- 2019-09-27 EP EP19787529.7A patent/EP3864807B1/en active Active
- 2019-09-27 CN CN201980061924.3A patent/CN112771820B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719832A (zh) * | 2005-07-15 | 2006-01-11 | 复旦大学 | 一种规范驱动的网格工作流描述和验证方法 |
CN105493525A (zh) * | 2013-07-25 | 2016-04-13 | 康维达无线有限责任公司 | 服务层南向接口和服务质量 |
CN106921585A (zh) * | 2015-12-28 | 2017-07-04 | 中兴通讯股份有限公司 | 数据报文发送方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020076527A1 (en) | 2020-04-16 |
US10951717B2 (en) | 2021-03-16 |
CN112771820A (zh) | 2021-05-07 |
EP3864807B1 (en) | 2022-11-09 |
US20200120168A1 (en) | 2020-04-16 |
EP3864807A1 (en) | 2021-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112771820B (zh) | 服务网格内的区分式服务 | |
US11582100B2 (en) | Seamless multi-cloud routing and policy interconnectivity | |
US11057350B2 (en) | Layer 2 mobility for hybrid multi-cloud deployments without host-overlay | |
US11533340B2 (en) | On-demand security policy provisioning | |
EP3066783B1 (en) | Increasing multicast scale via localization of indicies | |
EP2676411B1 (en) | Method and system for classification and management of inter-blade network traffic in a blade server | |
US11799821B2 (en) | Service chains for inter-cloud traffic | |
US11799972B2 (en) | Session management in a forwarding plane | |
Ricart‐Sanchez et al. | Toward hardware‐accelerated QoS‐aware 5G network slicing based on data plane programmability | |
US11126249B1 (en) | Power reduction methods for variable sized tables | |
CN110958185B (zh) | 基于业务的QoS配置方法及装置 | |
CN118301055A (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 |