CN116304233A - 用于微服务体系结构中的增强的调试的遥测目标查询注入 - Google Patents
用于微服务体系结构中的增强的调试的遥测目标查询注入 Download PDFInfo
- Publication number
- CN116304233A CN116304233A CN202211640986.XA CN202211640986A CN116304233A CN 116304233 A CN116304233 A CN 116304233A CN 202211640986 A CN202211640986 A CN 202211640986A CN 116304233 A CN116304233 A CN 116304233A
- Authority
- CN
- China
- Prior art keywords
- service
- query
- micro
- previous
- failover
- 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.)
- Pending
Links
- 238000002347 injection Methods 0.000 title claims abstract description 50
- 239000007924 injection Substances 0.000 title claims abstract description 50
- 230000004913 activation Effects 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 38
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 abstract description 17
- 238000012545 processing Methods 0.000 description 64
- 238000007726 management method Methods 0.000 description 46
- 238000004891 communication Methods 0.000 description 35
- 230000037406 food intake Effects 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000001152 differential interference contrast microscopy Methods 0.000 description 6
- 238000004146 energy storage Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000002507 cathodic stripping potentiometry Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
- H04L43/55—Testing of service level quality, e.g. simulating service usage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的装置。装置包括一个或多个处理器,该一个或多个处理器用于:标识服务的收集到的数据中记录的先前查询的情境跟踪,其中服务的微服务响应于先前查询;访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据;基于遥测数据来标识与先前查询相对应的激活简档,该激活简档详细说明微服务对先前查询的响应;针对先前查询将激活建档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常;以及基于异常的检测来推荐经修改的查询。
Description
技术领域
实施例总体上涉及数据处理,并且更具体地涉及用于微服务体系结构中的增强的调试的遥测目标查询注入。
背景技术
数据中心通常利用微服务体系结构提供网络基础设施服务。微服务体系结构可以将应用布置为松散地耦合的微服务的集合。微服务可以指通过网络进行通信以使用技术不可知协议实现目标的进程。在一些情况下,微服务可以使用提供容器化工作负荷和/或服务的容器编排平台来被部署。容器编排平台可以利用服务网格来管理微服务之间的大量基于网络的进程间通信。服务网格是用于微服务的专用软件基础设施层,包括使微服务之间的通信快速、可靠和安全的元素。服务网格提供包括服务发现、负载平衡、加密、可观察性、可跟踪性以及认证和授权的能力。由服务网格提供的微服务部署模型变得越来越有弹性,从而为扩展和缩小微服务提供了灵活性。
在服务网格环境中,计算集群中的典型工作者节点可以同时处置数百个容器工作负荷。这些工作者节点还可以具有针对计算密集型任务而优化的静态附接的专用硬件加速器。例如,硬件加速器类可以被优化以高效地运行加密和压缩算法,或者运行机器学***台上并经由诸如***组件互连快速(peripheral component interconnect express,PCIe)之类的物理链路连接。分离式计算通过启用对可用资源的更高效使用,实现了提高的资源利用并降低了拥有成本。分离式计算还可以为使计算更高效、性能更好的大型计算实现大量硬件加速器的池化。
由服务网格提供的微服务部署模型变得越来越有弹性,从而为扩展和缩小微服务提供了灵活性。随着微服务部署的弹性的增加,并且随着微服务体系结构向利用分离式计算资源的转变,可以存在跨许多异构硬件设备的、为服务部署的微服务。因此,在此类微服务体系结构中提供细粒度跟踪能力(包括动态查询生成和注入)变得越来越困难。
附图说明
因此,为了可详细地理解上文陈述的当前实施例的特征的方式,可参照实施例进行对上文简要概述的实施例的更特定的描述,在所附附图中图示实施例中的一些。然而,要注意,所附附图仅图示典型实施例,并且因此不应视为限制实施例的范围。附图并未按比例绘制。一般来说,贯穿(一个或多个)附图和所附书面说明书,相同的附图标记用于指代相同或类似的部分。
图1图示出根据本文的实现方式的提供用于微服务体系结构中的增强的调试的遥测目标查询注入的数据中心***。
图2图示出根据本文的实现方式的数据中心***中的计算平台的组件的框图。
图3A是根据本文的实现方式的实现用于微服务体系结构中的增强的调试的遥测目标查询注入的服务平台的框图。
图3B是描绘出根据本文的实现方式的实现用于能力和弹性测试的查询推荐和生成的故障转移和镜像***的框图。
图4是示出根据本文的实现方式的用于微服务体系结构中的增强的调试的遥测目标查询注入的操作示意图的图示。
图5A是图示出用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的方法的实施例的流程图。
图5B是图示出用于微服务体系结构中的故障转移弹性测试的遥测目标查询注入的方法的实施例的流程图。
图6是根据一些实施例的用于启用用于微服务体系结构中的增强的调试的遥测目标查询注入的说明性电子计算设备的示意图。
具体实施方式
本文的实现方式描述用于微服务体系结构中的增强的调试的遥测目标查询注入。
云服务提供商(Cloud service provider,CSP)正在其中工作负荷的处理分布在各种计算资源上的数据中心中部署解决方案,计算资源诸如中央处理单元(centralprocessing unit,CPU)、图形处理单元(graphics processing unit,GPU)和/或硬件加速器(包括但不限于GPU、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)、密码加速器、压缩加速器等等)。传统上,这些计算资源在相同平台上运行,并经由物理通信链路(诸如***组件互连快速(PCIe))连接。
然而,分离式计算正在数据中心中增加。通过分离式计算,CSP正在部署解决方案,其中工作负荷的处理分布在分离式计算资源上,诸如CPU、GPU和硬件加速器(包括FPGA、ASIC等),这些分离式计算资源经由网络连接,而不是在同一平台上并经由物理链路(诸如PCIe)连接。分离式计算通过启用对可用资源的更高效使用,实现了提高的资源利用并降低了拥有成本。分离式计算还可以为使计算更高效、性能更好的大型计算实现大量硬件加速器的池化。
本文所讨论的硬件加速器(本文中也称为硬件加速器资源、硬件加速器设备、加速器资源、加速器设备和/或扩展资源)可以指专用中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(general purpose GPU,GPGPU)、现场可编程门阵列(FPGA),专用集成电路(ASIC)、推断加速器、密码加速器、压缩加速器、其他专用硬件加速器等等中的任何一者。
此外,CSP用于部署服务网格的数据中心通常利用微服务体系结构来提供服务网格的网络基础设施服务。微服务体系结构可以将应用布置为松散地耦合的微服务的集合。微服务可以是通过网络进行通信以使用技术不可知协议实现目标的进程。在一些情况下,可以使用提供容器化工作负荷和/或服务的容器编排平台来部署微服务。在一些示例中,服务可以是包括数百个彼此结合工作的微服务的大型服务,或者可以是适度的单独服务。工作负荷可以指在消耗资源的云上运行的资源,诸如计算功率。在一些实施例中,应用、服务或微服务可以被称为工作负荷,这表示工作负荷可以在不同的云平台之间来回移动,或者从内部(on-premise)移动到云,或反之亦然,而没有任何依赖性或麻烦。
容器编排平台可以可用服务网格来管理微服务之间的大量基于网络的进程间通信。服务网格是用于微服务的专用软件基础设施层,包括使微服务之间的通信快速、可靠和安全的元素。服务网格提供包括服务发现、负载平衡、加密、可观察性、可跟踪性以及认证和授权的能力。
如前所述,由服务网格提供的微服务部署模型变得越来越有弹性,从而为扩展和缩小微服务提供了灵活性。随着微服务部署的弹性的增加,并且随着微服务体系结构向利用分离式计算资源的转变,可以存在跨许多异构硬件设备(例如,知识产权(intellectualproperty,IP)核心或块、异构处理单元(heterogeneous processing unit,XPU))的为服务部署的微服务。因此,在此类微服务体系结构中提供细粒度跟踪能力(包括动态查询生成和注入)变得越来越困难。
这在缺乏细粒度跟踪能力的常规***上尤其明显。特别是,此类常规***缺乏对给定的复杂的互依赖微服务组件集进行动态查询摄取的能力。此外,常规***缺乏发现微服务硬件资源(例如,XPU和IP)的激活简档和可用于在当今弹性和分离式微服务体系结构中提供细粒度调试的相关联的软件元素的能力。
本文的实现方式通过提供用于微服务体系结构中的增强的调试的遥测目标查询注入来解决上述技术缺陷。在本文的实现方式中,为微服务体系结构的服务管理组件提供了技术,以提供对由服务平台主控的服务的给定复杂的互依赖微服务集的动态查询推荐和摄取。该动态查询推荐和摄取可以激活用于检测异常以供增强的调试的遥测。服务管理组件还可以发现微服务的激活简档,从而在提供微服务体系结构的服务平台中动态地创建和/或修改用于摄取的查询。
本文的实现方式提供了与上述常规方法相比的技术优势。一个技术优势是,实现方式利用本文所述的动态查询生成和查询摄取技术提供改善的跟踪、调试和执行评估。动态查询生成和查询摄取技术可用于强调微服务体系结构中的微服务组件边界,同时任选地提供故障转移和/或弹性的镜像能力。这导致微服务体系结构的处理速度和通信等待时间方面的提高的性能。
图1图示出根据本文的实现方式的提供用于微服务体系结构中的增强的调试的遥测目标查询注入的数据中心***100。数据中心***100图示出提供用于在数据中心处处理任务的各种XPU(异构处理单元)的示例数据中心(例如,由云服务提供商(cloud serviceprovider,CSP)主控),其中XPU可以包括以下各项中的一者或多者:中央处理单元(CPU)115、图形处理单元(GPU)135(包括通用GPU(GPGPU))、ASIC或其他处理单元(例如,加速器145、155、166、推断加速器145、密码加速器155、可编程或固定功能FPGA 164、专用集成电路(ASIC)166、压缩加速器等)。数据中心还可以提供用于数据存储任务的存储单元。例如,存储单元可以包括固态驱动(solid state drive,SSD)125。XPU和/或存储单元可以被用类似类型的单元主控,例如,CPU 115被在应用服务器(app服务器)110上主控,SSD 125被在存储机架120上主控,GPU 135被在GPU机架130上主控,推断加速器145被在推断加速器服务器140上主控,密码加速器155被在密码加速器机架150上主控,并且通用加速器162、164、166被在加速器机架160上主控。
***100的数据中心使用例如直接附接至相应主机处理组件的IPU105来为该***100主控的处理组件115、125、135、145、155、162、164、166提供各种迁移。尽管出于示例目的讨论了IPU 105,但其他可编程网络设备(诸如DPU或智能NIC)在本文中可以与IPU 105可互换地使用。所提供的迁移可以是联网、存储、安全等。这允许处理组件115、125、135、145、155、162、164、166在没有管理程序的情况下运行,并且向CSP提供将数据中心中的整个主机租出给它们的关注安全性的客户的能力,或者避免与多租户主机相关联的串扰和其他问题。
IPU 105可以通过为数据中心运营商(诸如,云服务提供商(CSP))提供针对安全性、加速、遥测和服务编排的控制点而在数据中心发挥作用。IPU105体系结构可在现有的智能网络接口卡(Smart Network Interface Card,SmartNIC)特征之上建立,并且是在分布式平台内和跨分布式平台控制安全性和数据加速的一部分。它是由CSP控制的用于管理平台、向租户提供服务并且确保对数据中心网络的安全访问的安全域。通过迁移主机服务、可靠的传输并优化数据复制,IPU 105提高了针对分布式运行时的性能和可预测性,并且使得能够对多太比特吞吐量进行缩放。
近年来,开始于唯一的目的在于使分组进入主机或离开主机的基础NIC,IPU 105已经在复杂性方面增长。随着联网软件迁移的添加,NIC演进成为智能NIC,其能够对诸如VSwitch、VIRTIO-Net、AVF等之类的功能进行迁移。远程分离式存储体系结构提供了进一步的演进,其中,计算和存储不再是位于一起的,而是大型计算集群通过网络连接至大型存储集群。网络速度的提高和协议的演进使得这成为可能。远程分离式存储相对于直接附接的存储提供的优势之一是计算和存储器可以以不同的节拍来开发和更新。附接至计算节点的存储器的量不再受限于硬驱动器的物理添加或移除,而是可以作为PF向PCIe交换机进行热插拔。诸如智能端点(Smart End Point)之类的技术使得IPU能够具有固件控制的交换机,并且使得PCIe交换机自身不受硬件实现方式限制。
如上所述,本文的实施例提供了用于微服务体系结构中的增强的调试的遥测目标查询注入。在一种实现方式中,数据中心***100包括可以实现服务管理组件170以提供用于微服务体系结构中的增强的调试的遥测目标查询注入的一个或多个资源。出于说明性示例目的,服务管理组件170分别示出在数据中心***100的CPU 115和GPU 135中。然而,根据本文中的实现方式,服务管理组件170可在数据中心***100的各种其他分离式资源中的一者或多者中操作。这样,数据中心***100的资源可位于经由数据中心***100中的网络(未示出)连接的不同平台中。在一些实现方式中,软件和/或中间件可以使得数据中心***100的资源在逻辑上看起来在同一平台中。此外,在软件和/或硬件(例如,网络接口卡(NIC))中实现的传输协议可以使远程资源在逻辑上看起来就像它们也是本地资源一样。
下面参照图2-图6描述了实现用于微服务体系结构中的增强的调试的遥测目标查询注入的服务管理组件170的进一步细节。
图2图示出根据本文的实现方式的数据中心***200中的计算平台202A的组件的框图。在所描绘的实施例中,平台202A、202B和202C(本文中统称为平台202)以及数据中心管理平台206经由网络208互连。在其他实施例中,计算机***可包括任何合适数量的(即,一个或多个)平台。在一些实施例中(例如,当计算机***包括单个平台时),数据中心管理平台206的全部或部分可被包括在平台202上。
平台202可包括具有一个或多个处理资源212(例如,包括CPU、GPU、FPGA、ASIC、其他硬件加速器的XPU)、存储器214(其可包括任何数量的不同模块)、芯片组216、(一个或多个)通信接口设备218的平台资源210,以及用于执行管理程序213或能够执行与在平台202上运行的应用相关联的工作负荷的其他操作***的任何其他合适的硬件和/或软件。
在一些实施例中,平台202可用作调用这些应用的一个或多个宾客机***222的主机平台。平台202A可表示任何合适的计算环境,诸如高性能计算环境、数据中心、通信服务提供商基础设施(例如,演进型分组核心的一个或多个部分)、存储器内计算环境、交通工具(例如,汽车或飞机)的计算***、物联网(Internet of Things,IoT)环境、工业控制***、其他计算环境或其组合。
每个平台202可包括平台资源210。除了实现平台202的功能的其他逻辑之外,平台资源210还可以包括一个或多个处理资源212(诸如CPU、GPU、FPGA、其他硬件加速器等)、存储器214、一个或多个芯片组216以及通信接口设备218。尽管示出了三个平台,但是计算机平台202A可以与任何合适数量的平台互连。在各种实施例中,平台202可驻留在电路板上,该电路板安装在底座、机架或包括通过网络208耦合在一起的多个平台(其可以包括例如,机架或背板交换机)的其他合适的结构中。
在处理资源212包括CPU的情况下,CPU各自可包括任何合适数量的处理器核心和支持逻辑(例如,非核心)。核心可通过驻留在处理资源212(例如,CPU)和/或芯片组216上的一个或多个控制器彼此耦合、耦合至存储器214、耦合至至少一个芯片组216和/或耦合至通信接口设备218。在一些实施例中,处理资源212被具体化在永久地或可移除地耦合至平台202A的插槽内。平台202可包括任何合适数量的处理资源212。
存储器214可包括任何形式的易失性或非易失性存储器,包括但不限于磁介质(例如,一个或多个磁带驱动器)、光学介质、随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、闪存存储器、可移除介质、或任何其他一个或多个合适的本地或远程存储器组件。存储器214可被用于平台202A的短期、中期和/或长期存储。存储器214可存储由平台资源210利用的任何合适的数据或信息,包括嵌入在计算机可读介质中的软件和/或并入硬件中或以其他方式被存储的经编码的逻辑(例如,固件)。存储器214可存储由处理资源212的核心使用的数据。在一些实施例中,存储器214还可包括用于指令的存储装置,这些指令可由处理资源212(例如,CPU的核心)或其他处理元件(例如,驻留在芯片组216上的逻辑)执行,以提供与管理组件226或平台资源210的其他组件相关联的功能。
平台202还可包括一个或多个芯片组216,该一个或多个芯片组216包括用于支持处理资源212的操作的任何合适的逻辑。在各实施例中,芯片组216可驻留在作为处理资源212的相同管芯或封装上,或驻留在一个或多个不同管芯或封装上。每个芯片组可以支持任何合适数量的处理资源212。芯片组216还可包括一个或多个控制器,该一个或多个控制器用于将平台资源210的其他组件(例如,通信接口228或存储器214)耦合至一个或多个处理资源212。
在所描述的实施例中,每个芯片组216还包括管理组件226。管理组件226可包括用于支持芯片组216的操作的任何合适的逻辑。在特定实施例中,管理组件226可从芯片组216、处理资源212和/或由芯片组216管理的存储器214、平台资源210的其他组件和/或平台资源210的组件之间的各种连接来收集实时遥测数据。
芯片组216还各自包括通信接口228。通信接口228可用于在芯片组216与一个或多个I/O设备、一个或多个网络208和/或耦合至网络208的一个或多个设备(例如,数据中心管理平台206)之间的信令和/或数据的通信。例如,通信接口228可用于发送和接收诸如数据分组之类的网络通信量。在特定实施例中,通信接口228包括一个或多个物理网络接口控制器(network interface controller,NIC)(也称为网络接口卡或网络适配器)。NIC可包括用于使用任何合适的物理层和数据链路层标准(诸如以太网(例如,由IEEE802.3标准所定义的)、光纤通道、无限带宽(InfiniBand)、Wi-Fi或其他合适的标准)进行通信的电子电路***。NIC可包括可以耦合至线缆(例如,以太网线缆)的一个或多个物理端口。NIC可实现芯片组216的任何合适的元件(例如,管理组件226)与耦合至网络208的另一设备之间的通信。在各种实施例中,NIC可与芯片组216集成(即,可在与芯片组逻辑的剩余部分相同的集成电路或电路板上),或者可在电磁地耦合至芯片组的不同集成电路或电路板上。
平台资源210可以包括附加的通信接口228。与通信接口设备218类似,通信接口228可用于平台资源210与一个或多个网络208以及耦合至网络208的一个或多个设备之间的信令和/或数据的通信。例如,通信接口228可用于发送和接收诸如数据分组之类的网络通信量。在特定实施例中,通信接口228包括一个或多个物理NIC。这些NIC可实现平台资源210的任何合适的元件(例如,处理资源212或存储器214)与耦合至网络208的另一设备(例如,通过一个或多个网络耦合至网络208的其他平台的元件或远程计算设备)之间的通信。
平台资源210可接收并执行任何合适类型的工作负荷。工作负荷可包括利用平台资源210的一个或多个资源(诸如一个或多个核心或相关联的逻辑)的任何请求。例如,工作负荷可包括:实例化软件组件(诸如I/O设备驱动器224或宾客机***222)的请求;处理从微服务容器232A、232B(本文中统称为微服务容器232)或平台202A外部的设备(诸如耦合至网络208的网络节点)接收的网络分组的请求;执行与宾客机***222、平台202A上运行的应用、管理程序213或平台202A上运行的其他操作***相关联的进程或线程的请求;或其他合适的处理请求。
微服务容器232可利用其自身的专用硬件来模拟计算机***。容器232可以指封装代码及其所有依赖项的标准软件单元,因此应用从一个计算环境快速且可靠地运行至另一计算环境。容器映像是轻量级的、独立的、可执行的软件封装,其包括用于运行应用的组件:代码、运行时、***工具、***库和设置。容器232利用操作***(operating system,OS)虚拟化的形式,其中OS的特征被用于隔离进程以及用于控制这些进程可访问的CPU、存储器和盘的数量。
当实现容器232时,管理程序213也可被称为容器运行时。尽管本文的实现方式讨论了经由容器的微服务功能的虚拟化,但在一些实现方式中,虚拟机可由管理程序213主控,并用于主控微服务和/或由应用提供的服务的其他组件。
管理程序213(也称为虚拟机监控器(virtual machine monitor,VMM))可包括用于创建和运行宾客机***222的逻辑。管理程序213可呈现由具有虚拟操作平台(即,当虚拟机实际上被合并到单个硬件平台上时,在虚拟机看来,它们正在单独的物理节点上运行)的虚拟机运行的宾客机操作***,并管理平台资源210对宾客机操作***的执行。管理程序213的服务可通过在软件中虚拟化或通过利用最小软件干预的硬件辅助的资源或这两者来提供。各种宾客机操作***的多个实例可由管理程序213管理。每个平台202可具有管理程序213的单独实例化。
在本文中的实现方式中,管理程序213也可实现为能够构建和容器化应用的容器运行时环境。
管理程序213可以是用于控制平台逻辑以及管理宾客机操作***的、直接在平台资源210上运行的原生或裸机管理程序。或者,管理程序213可以是在主机操作***上运行并从主机操作***中提取宾客机操作***的被主控的管理程序。管理程序213可包括可以向宾客机***222的虚拟机提供虚拟交换和/或路由功能的虚拟交换机238。
虚拟交换机238可包括使用平台资源210的组件执行的软件元件。在各种实施例中,管理程序213可以与可使管理程序213响应于平台202中的变化的条件(例如,微服务容器232的添加或删除或可进行以增强平台的性能的优化的标识)来重新配置虚拟交换机238的参数的任何合适的实体(例如,SDN控制器)进行通信。
平台资源210的元件可以以任何合适的方式耦合在一起。例如,总线可以将组件中的任何组件耦合在一起。总线可以包括任何已知的互连,诸如多点分支(multi-drop)总线、网格互连、环互连、点到点互连、串行互连、并行总线、相干(例如,缓存相干)总线、分层协议体系结构、差分总线或射电收发机逻辑(Gunning transceiver logic,GTL)总线,仅举几个例子。
计算机平台202A的元件可以以任何合适的方式耦合在一起,诸如通过一个或多个网络208。网络208可以是任何合适的网络或使用一个或多个合适的联网协议操作的一个或多个网络的组合。网络可以表示用于接收和发射通过通信***传播的信息分组的一系列节点、点和经互连的通信路径。例如,网络可以包括一个或多个防火墙、路由器、交换机、安全设备、防病毒服务器或其他有用的网络设备。
在本文中的实现方式中,处理资源212和/或微服务容器232中的一者或多者可提供服务管理组件(未示出),诸如参考图1所描述的服务管理组件170。在下文中参考图3A至图6描述处理资源212和/或微服务容器232如何实现服务管理组件以提供用于微服务体系结构中的增强的调试的遥测目标查询注入的进一步细节。
图3A是根据本文的实现方式的实现用于微服务体系结构中的增强的调试的遥测目标查询注入的服务平台300的框图。在一种实现方式中,服务平台300与参考图2描述的数据中心***200的平台202相同。在一些实现方式中,服务平台300可以被在可以利用或不利用分离式计算的数据中心中主控。本文的实施例不限于分离式计算环境中的实现方式,并且可以被跨不同数据中心环境的大范围部署。图2的分离式计算数据中心***200作为服务平台300的示例实现方式被提供,并且不旨在限制本文的实施例。
在一种实现方式中,服务平台300可以主控由一个或多个微服务容器320A、320B(本文中统称为微服务容器320)实现的服务。微服务容器320可以与参照图2描述的微服务容器232相同。可以使用服务管理组件340来编排和管理服务。服务管理组件320可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。
服务平台300可以充当服务的主机平台,从而将服务的部署的微服务实现为调用服务的功能的一个或多个微服务容器320。服务平台300可表示任何合适的计算环境,诸如高性能计算环境、数据中心、通信服务提供商基础设施(例如,演进型分组核心的一个或多个部分)、存储器内计算环境、交通工具(例如,汽车或飞机)的计算***、物联网(IoT)环境、工业控制***、其他计算环境或其组合。在本文的实现方式中,可以使用硬件电路***(诸如CPU、GPU、硬件加速器等中的一者或多者)来实现容器320。在一个实施例中,容器320可以使用参照图2描述的平台202来实现。
微服务容器320可以包括用于实现微服务325A、325B(本文中统称为微服务325)和边车330A、330B(本文中统称为边车330)的功能的逻辑。边车330可以是在与微服务325相同的舱上运行的容器。如本文中所描绘的,边车330被示出为微服务容器320的一部分,但在一些实现方式中,边车330可以被实现为与微服务325功能分离的容器。
本地促进器310被连接到边车330,并且可以在微服务容器320的特权空间中操作。在一种实现方式中,本地促进器310是具有对低级信息的访问的特权守护进程(daemon)。例如,本地促进器310具有对低级软件遥测和硬件数据(诸如注册表)的访问。
在本文的实现方式中,边车330可以包括用于支持用于微服务体系结构中的增强的调试的遥测目标查询注入的一个或多个组件。这些组件可以包括遥测数据摄取组件332A、332B(本文中统称为遥测数据摄取组件332)、收集到的数据334A、334B(统称为收集到的数据334的数据存储)、微服务异常检测336A、336B(统称为微服务异常检测336)和(可选地)微服务推荐引擎338A、338B(本文中统称为微服务推荐引擎338)。
服务平台300还包括服务管理组件340。可以使用硬件电路***(诸如CPU、GPU、硬件加速器等中的一者或多者)来实现服务管理组件340和其底层子组件。在一个实施例中,服务管理组件340可以使用参照图2描述的平台202来实现。更一般地,可以用硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现示例服务管理组件340。因此,例如,服务管理组件340可以由一个或多个模拟或数字电路、逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程控制器、(一个或多个)图形处理单元(GPU)、(一个或多个)数字信号处理器(DSP)、(一个或多个)专用集成电路(ASIC)、(一个或多个)可编程逻辑器件(programmable logic device,PLD)和/或(一个或多个)现场可编程逻辑器件(fieldprogrammable logic device,FPLD)来实现。
在一种实现方式中,服务管理组件340操作以控制对由数据中心(诸如图1的数据中心***100)主控的服务网格的服务的资源(诸如微服务)的管理和/或编排。服务管理组件340可以位于服务平台300中的微服务容器320的相同节点或不同节点上。
服务管理组件340可以包括用于支持用于微服务体系结构中的增强的调试的遥测目标查询注入的一个或多个组件。这些组件可包括控制器350、评估器360以及依赖图和服务遥测数据存储370(本文中也称为数据存储370)。在本文的实现方式中,控制器350可以主控发现管理器352、推荐管理器354、查询生成管理器356、服务数据摄取管理器358以及XPU管理器359。评估器可以主控镜像管理器362和评估管理器364。
在本文的实现方式中,控制器350、评估器360以及依赖图和服务遥测数据存储370可以作为由主控控制器350、评价器360以及依赖图和服务遥测数据存储370的(一个或多个)底层计算***生成的受信任执行环境(trusted execution environment,TEE)(未示出)的一部分来操作。可以使用(一个或多个)底层计算***的硬件支持来认证TEE并保护TEE免受未经授权的访问。说明性地,TEE可被具体化为使用IntelTM SGX技术建立的一个或多个安全飞地。TEE还可包括一个或多个驱动器、库或(一个或多个)底层计算***的其他组件,或以其他方式对一个或多个驱动器、库或(一个或多个)底层计算***的其他组件提供接口,以对一个或多个其他XPU提供接口。
在本文的实现方式中,微服务容器320和服务管理组件340提供用于微服务体系结构中的增强的调试的遥测目标查询注入。在一种实现方式中,用于每个微服务容器320的边车330包括接收与微服务325相关的服务平台300的遥测数据的遥测数据摄取组件332。该遥测数据可以包括体系结构(例如,特权空间)中的较低级层以及应用(微服务325)遥测数据和日志(例如,用户空间)。收集到的数据334是为微服务325维护该微服务有关的遥测数据的数据存储。
微服务异常检测组件336分析与微服务325相关的平台的遥测数据。如上所述,该遥测数据可包括服务平台300(例如,特权空间)中的较低级层,并且可包括应用(微服务325)遥测数据和日志(例如,用户空间)。微服务异常检测组件336可以提供挂钩以捕捉应用中的错误(例如,应用服务水平目标(service level objective,SLO)规定以30fps进行处理,但替代地,应用以28fps进行处理)。在本文的实现方式中,微服务异常检测组件336可以考虑基础设施和应用SLO。
为了获得收集到的数据334,微服务异常检测组件336可以查询用户空间中可用的信息,并且此外,还可以调用本地促进器310。本地促进器310被连接至边车330,并具有对低级软件遥测和硬件数据(诸如注册表)的访问。这样,本地促进器310可以查询服务平台300的状态。基于收集到的数据334,微服务异常检测组件336可以确定是否存在与正常或典型行为的任何偏差。如果检测到偏差,则微服务异常检测组件336可以向服务管理组件340指示该异常,包括其类型。
在服务管理组件340处,控制器350可以为由服务平台300主控的服务的给定复杂互依赖微服务集提供动态查询推荐和摄取。该动态查询推荐和摄取可以激活用于检测异常以供增强的调试的遥测。控制器350还可以发现微服务325的激活简档,从而为服务平台300中的摄取动态地创建和/或修改查询。
在一种实现方式中,控制器350包括用于发现和创建服务的互依赖性流矩阵的发现管理器352。互依赖性流矩阵也可以称为交互矩阵或互动矩阵。互依赖性矩阵可以包括涉及服务中使用的硬件设备(例如,XPU、IP块)和软件服务的互依赖性的服务的流程图。在一个实施例中,该互依赖性流矩阵提供了服务的所有微服务的虚拟交互矩阵,这些所有微服务被缝合在一起以提供应用的整体服务供应。在一种实现方式中,互依赖性流矩阵被存储在服务管理组件340的依赖图和服务遥测数据存储370中。
控制器350可以进一步包括推荐管理器354,以生成关于服务的查询生成的推荐。在一种实现方式中,推荐管理器354可以访问由发现管理器生成的互依赖性流矩阵,从而生成关于查询生成的推荐。
在一些实现方式中,推荐管理器354可以接收先前由控制器350的服务数据摄取管理器358记录的查询的情境跟踪。在一个示例中,微服务异常检测组件336可以连续地分析本地存储上的数据(例如,收集到的数据334),以标识与正常行为的偏差并通知推荐管理器354。推荐管理器354可以对服务数据摄取管理器358提供接口,以获得服务的遥测数据以供分析。服务数据摄取管理器358可以接收由遥测数据摄取组件332收集并存储在收集到的数据334中的微服务遥测数据。例如,服务数据摄取管358可以接收服务平台300的遥测(例如,体系结构中的较低级层;特权空间)以及应用遥测和数据日志(例如,用户空间)。
在一种实现方式中,根据查询的情境跟踪,推荐管理器354可以使用互依赖性流矩阵来标识来自数据存储370的相对应遥测数据。例如,所标识的相对应遥测数据可以包括在查询执行期间由服务的微服务325生成的遥测数据。
在一些实现方式中,推荐管理器354还可以访问基于微服务325生成的遥测数据生成的激活简档。激活简档可以表示对查询的功能响应,其中响应由服务的微服务325在响应查询时产生。例如,激活简档可以标识接口并计算服务(及其部署的微服务)利用的元件(本文中称为激活点),以提供对查询的响应。激活简档还可以包括在响应查询时激活点的响应序列。
接着,推荐管理器354可以将激活简档与参考激活简档(诸如相关性简档)进行比较。相关性简档可以指服务及其在服务平台300中部署的微服务325的观察到的当前状态。在一些实现方式中,相关性简档可被在服务平台100中预配置。在一些实现方式中,相关性简档可以在服务在服务平台300中被部署和操作时被学习。
在本文的实现方式中,推荐管理器354可以使用与先前查询相对应的互依赖性流矩阵和/或激活简档,从而生成针对服务的新的或经修改的查询的推荐。例如,推荐管理器354可以使用如上所述的互依赖性流矩阵和遥测数据来标识先前查询的激活简档,并将该激活简档与相关性简档进行比较以进行进一步分析。例如,推荐管理器354可以确定激活简档没有充分强调边界条件,并且可以推荐修改查询以进一步强调边界条件测试(例如,达到边界条件的极限)。边界条件可以指用于边界值问题的解决方案的约束。在一些实现方式中,边界条件是对于正在处理的问题应该为真的已知值。
在一种实现方式中,微服务容器320的边车330还可以基于基础设施监控和服务水平协议(service level agreement,SLA)度量的交叉监控来实现微服务推荐引擎338。在这种情况下,来自微服务推荐引擎338的推荐可以周期性地考虑到用于以冗余换取性能或以吞吐量换取等待时间的动态决策中。
在一种实现方式中,来自推荐管理器354的推荐被提供给控制器350的查询生成管理器356。接着,查询生成管理器356可以创建新的查询和/或修改现有查询,以更好地针对服务的微服务325。在一些实现方式中,由查询生成管理器356生成的查询可以通过强调服务的特定目标组件的测试来增加服务和微服务325的稳健性。
在本文的实现方式中,控制器350的XPU管理器359可以基于上面讨论的动态查询注入的结果来提供服务的微服务325的装载和离载。例如,查询注入和***反应可以被捕捉为登录到区块链的事务,并在稍后的时间点用于诊断服务中的任何问题。基于该诊断,XPU管理器359可以使微服务被部署或调用,以提高服务平台300中的服务的稳健性。此外,XPU管理器359可以利用事务分析来通知未来的微服务部署和服务配置,用于服务平台300中的优化的服务操作。
在本文的实现方式中,评估器360可以使用查询推荐和生成来提供增强的调试,用于在为服务平台中的服务部署的不同故障转移实体之间的能力和弹性测试。例如,评估器360可以包括用于部署镜像容器和边车监控的镜像管理器362。镜像管理器362可以为微服务325部署新的微服务容器320和边车330,从而使用上述查询推荐和生成技术来测试微服务的能力和/或弹性。
图3B是描绘出根据本文的实现方式的实现用于能力和弹性测试的查询推荐和生成的故障转移和镜像***380的框图。在一种实现方式中,故障转移和镜像***380可以是参考图3A描述的服务平台300的一部分。故障转移和镜像***380可包括包含多个层的服务层次体系381。层可以包括但不限于微服务层382、容器层383、虚拟机(virtual machine,VM)层384、管理程序层385和包括一个或多个XPU(例如,XPU1 387和XPU2 388)的硬件层386。层382到层385可以包括一个或多个故障转移代理(failover agent,FA),诸如FA1 390和FA2 391。故障转移代理390-391可以包括该特定层中部署的主要组件的重复组件。例如,在微服务层中,FA1 390和/或FA2 391可包括对微服务层382中已经存在的经部署微服务容器进行镜像的重复微服务容器。
故障转移和镜像***380还描绘了在服务层次体系381的组件之间创建的依赖图。依赖图可以与上文讨论的互依赖性流矩阵相同。在服务层次体系381中可存在多个依赖图。如图3B中所示,示出了与实线箭头相对应的依赖图1 395,和与虚线箭头相对应的依赖图2396。
在本文的实现方式中,故障转移代理391-392中的一者或多者可以例如以不同的运行时间选项部署在服务层次体系381中,不同的运行时间选项是基于上述查询生成和注入产生的先前观察而确定的。例如,响应于先前的历史记录指示故障超过某个阈值的可能性,实现方式可以将微服务容器的组件加载到存储器中,并将其他资源加载到新节点中。
返回参考图3A,评估器360还包括用于向控制器350提供检查和平衡的评估管理器364。例如,评估管理器364可以基于查询推荐和生成以及查询结果是否生成满足质量和服务水平标准的度量来生成评估度量。这些评估度量可以充当鼓励来自控制器350的积极行为并阻止来自控制器350(例如,XPU管理器359根据查询注入和满足质量和服务标准的结果部署微服务)的消极行为的奖励函数。在一些实现方式中,基于机器学***衡方法。
在本文的实现方式中,生成的查询注入和***反应事务数据(本文中也称为查询遥测数据)可以经由分布式账本(诸如区块链)跟踪。如上所述,查询注入和***反应可以被捕捉为登录到区块链的事务,并在稍后的时间点用于诊断服务中的任何问题。由于区块链是匿名的,因此本文的实现方式可以使区块链公开可用于帮助建立微服务的信誉评分。例如,控制器350可以利用区块链集成管理器356来在经由公共账本可用的区块链中记录查询注入和***反应事务元数据。在一些实现方式中,响应于服务开发者的服务被指示为高质量和/或满足标准,使用该匿名区块链数据,服务开发者可以接收信誉评分(例如,或接收奖励或付款)。
图4是示出根据本文的实现方式的用于微服务体系结构中的增强的调试的遥测目标查询注入的操作示意图400的图示。在一种实现方式中,参考图3A描述的服务管理组件340实现操作示意图400。
操作示意图400包括主控控制器440和评估器450的TEE 430。在一中实现方式中,控制器440可与参考图3A描述的控制器350相同,并且评估器450可与参考图3A描述的评估器360相同。控制器440可包括推荐器服务442、查询注入服务444、发现和查询生成器446和XPU管理器448。这些组件可以与参考图3A描述的服务平台300中类似地命名的组件相同。评估器450可包括镜像452和评估度量454。
在本文的实现方式中,可互换计算内核410可包括计算节点的不同块和/或在运行多个微服务(诸如MS1 461-MS5 465)的不同XPU上。在一种实现方式中,MS1 461-MS5 465与参考图3A描述的微服务325相同。这些微服务MS1 461-MS5 465可以是使用如本文所述的具有来源元数据的安全审核跟踪425来监控的XPU互依赖性流程图和SLA模型体系结构420的部分。在一种实现方式中,XPU互依赖性流程图与上文参考图3A所述的互依赖性流程图相同。
利用上文关于图3A-图3B描述的技术,控制器440可以使用推荐器服务442来基于互依赖性流程图和存储在依赖图和元数据存档435(本文中也称为存档435)中的其他遥测数据来生成查询推荐。发现和查询生成器446可以生成互依赖性流程图。发现和查询生成器446还可以基于来自推荐器服务442的查询推荐来生成查询。查询注入服务444将查询注入到可互换计算内核410的微服务MS1 461-MS5 465中,并收集表示所注入的查询的结果的遥测数据。所得遥测数据可以作为查询推荐和注入结果元数据(本文中也称为查询遥测数据)被存储在存档435中。在本文的实现方式中,查询推荐和注入结果元数据可以经由如上所述的区块链追踪。XPU管理器448可以基于所生成的查询推荐和注入结果元数据,在服务的运行时期间为微服务MS1 461-MS5 465实施一个或多个所提供的策略。
评估器450可以提供镜像452以部署镜像容器和边车监控。例如,镜像管理器452可以为微服务MS1 461-MS5 465部署新的微服务容器和边车,从而使用上述查询推荐和生成技术来测试微服务的能力和/或弹性。
评估器450还可以使用从控制器440注入的查询生成的查询推荐和注入结果元数据来对控制器440执行检查。例如,评估器450可以对由XPU管理器448提议的任何硬件或软件实例执行检查,以确定此类提议的硬件或软件实例符合用于微服务的所提供的策略。评估器450可利用评估度量454来向控制器440提供关于以下内容的反馈:控制器440是否基于从由控制器440生成的所注入的查询生成的经评估的查询推荐和注入结果元数据来正确地实施所提供的策略。
实施例可以被提供为例如计算机程序产品,该计算机程序产品可包括一种或多种机器可读介质,这一种或多种机器可读介质具有存储于其上的机器可执行指令,这些机器可执行指令在由一个或多个机器(诸如,计算机、计算机的网络或其他电子设备)执行时可使得这一个或多个机器执行根据本文中所描述的实施例的操作。机器可读介质可包括但不限于:软盘、光盘、CD-ROM(Compact Disc-Read Only Memory,致密盘只读存储器)以及磁光盘、ROM、RAM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦除可编程只读存储器)、磁卡或光卡、闪存存储器、或者适合于存储机器可执行指令的其他类型的介质/机器可读介质。
此外,实施例可作为计算机程序产品被下载,其中,经由通信链路(例如,调制解调器和/或网络连接),借助于在载波或其他传播介质中具体化和/或由载波或其他传播介质调制的一个或多个数据信号,可将程序从远程计算机(例如,服务器)传输至作出请求的计算机(例如,客户端)。
贯穿本文档,术语“用户”可以被互换地称为“观看者”、“观察者”、“演讲者”、“个人”、“个体”、“终端用户”和/或其他。应当注意,贯穿本文档,如“图形域”之类的术语可以与“图形处理单元”、“图形处理器”或简单地与“GPU”可互换地引用,并且类似地,“CPU域”或“主机域”可以与“计算机处理单元”、“应用处理器”或简单地与“CPU”可互换地引用。
要注意的是,贯穿本文档,可以可互换地使用如“节点”、“计算节点”、“服务器”、“服务器设备”、“云计算机”、“云服务器”、“云服务器计算机”、“机器”、“主机”、“设备”、“计算设备”、“计算机”、“计算***”等之类的术语。应当进一步注意,贯穿本文档,可以可互换地使用如“应用”、“软件应用”、“程序”、“软件程序”、“包”、“软件包”等之类的术语。并且,贯穿本文档,可以互换地使用如“作业”、“输入”、“请求”、“消息”等术语。
图5A是图示出用于促进用于微服务体系结构中的遥测目标查询注入的方法500的实施例的流程图。方法500可由处理逻辑执行,该处理逻辑可包括硬件(例如,电路***、专用逻辑、可编程逻辑等)、软件(诸如在处理设备上运行的指令)、或其组合。更具体地,方法500可以采用逻辑指令集被实现为一个或多个模块,该逻辑指令集被存储在诸如RAM、ROM、PROM、固件、闪存存储器等之类的机器或计算机可读存储介质(本文中也被称为非瞬态计算机可读存储介质)中,被存储在诸如例如PLA、FPGA、CPLD等之类的可配置逻辑中,被存储在使用诸如例如ASIC、CMOS或TTL技术等之类的电路技术的固定功能逻辑硬件中,或被存储在以上各项的任何组合中。
出于呈现的简洁性和清楚性起见,方法500的过程按线性顺序图示;然而,构想了它们中的任何数量可以并行地、异步地或按不同次序来执行。此外,为了简洁、清楚和易于理解,参照图1-图4所描述的组件和过程中的许多组件和过程可能不会在下文中重复或讨论。在一种实现方式中,实现用于微服务体系结构的服务管理组件的数据中心***(诸如执行图3A的服务平台300的服务管理组件340的处理设备)可以执行方法500。
图5A的方法500的示例过程开始于框510,在框510处,处理设备可以标识服务的收集到的数据中记录的先前查询的情境跟踪,其中服务的微服务响应于先前查询。接着,在框520处,处理设备可以访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图。
随后,在框530处,处理设备可以基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据。接着,在框540处,处理设备可以基于遥测数据来标识与先前查询相对应的激活简档。在一种实现方式中,激活建档可以详细说明微服务对先前查询的响应。
在框550处,处理设备可以针对先前查询将激活简档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常。最后,在框555处,处理设备可以基于异常的检测来推荐并配置经修改的查询。
图5B是图示出用于微服务体系结构中的故障转移弹性测试的遥测目标查询注入的方法560的实施例的流程图。方法560可由处理逻辑执行,该处理逻辑可包括硬件(例如,电路***、专用逻辑、可编程逻辑等)、软件(诸如在处理设备上运行的指令)、或其组合。更具体地,方法560可以采用逻辑指令集被实现为一个或多个模块,该逻辑指令集被存储在诸如RAM、ROM、PROM、固件、闪存存储器等之类的机器或计算机可读存储介质(本文中也被称为非瞬态计算机可读存储介质)中,被存储在诸如例如PLA、FPGA、CPLD等之类的可配置逻辑中,被存储在使用诸如例如ASIC、CMOS或TTL技术等之类的电路技术的固定功能逻辑硬件中,或被存储在以上各项的任何组合中。
出于呈现的简洁性和清楚性起见,方法560的过程按线性顺序图示;然而,构想了它们中的任何数量可以并行地、异步地或按不同次序来执行。此外,为了简洁、清楚和易于理解,参照图1-图4所描述的组件和过程中的许多组件和过程可能不会在下文中重复或讨论。在一种实现方式中,实现用于微服务体系结构的服务管理组件的数据中心***(诸如执行图3A的服务平台300的服务管理组件340的处理设备)可以执行方法560。
图5B的方法560的示例过程开始于框565处,在框565处,处理设备可以在服务的微服务体系结构的至少一个层中部署故障转移实体。在一种实现方式中,层可以包括微服务层、容器层、虚拟机层或管理程序层中的至少一者。接着,在框570处,处理设备可以标识用于服务的微服务的边界条件。
随后,在框575处,处理设备可以基于所标识的边界条件来生成对故障转移实体的查询。接着,在框580处,处理设备可以将查询注入到故障转移代理。最后,在框585处,处理设备可以分析故障转移代理对查询的响应,以确定故障转移代理的弹性。
图6是根据一些实施例的用于启用用于微服务体系结构中的增强的调试的遥测目标查询注入的说明性电子计算设备600的示意图。在一些实施例中,计算设备600包括一个或多个处理器610,该一个或多个处理器610包括一个或多个处理器核心618,该一个或多个处理器核心618包括服务管理组件(SMC)615,诸如参考图1和图3A所述的服务管理组件170、340。在一些实施例中,一个或多个处理器核心618建立TEE以主控SMC 615。在一些实施例中,计算设备600包括硬件加速器668,硬件加速器包括服务管理组件682,诸如参考图1和图3A所述的服务管理组件170、340。在一些实施例中,硬件加速器668建立TEE以主控服务管理组件682。在一些实施例中,计算设备用于提供用于微服务体系结构中的增强的调试的遥测目标查询诸如,如在图1-图5B中所提供的。
计算设备600可附加地包括以下各项中的一项或多项:缓存662、图形处理单元(GPU)612(在一些实现方式中,可以是硬件加速器)、无线输入/输出(I/O)接口620、有线I/O接口630、***存储器640(例如,存储器电路***)、功率管理电路***650、非瞬态存储设备660、以及用于连接至网络672的网络接口670。下列讨论提供对形成说明性的计算设备600的组件的简洁的、一般性的描述。例如,非限制性计算设备600可包括桌面型计算设备、刀片式服务设备、工作站、或类似的设备或***。
在实施例中,处理器核心618能够执行机器可读指令集614,从一个或多个存储设备660读取数据和/或指令集614,并且将数据写入到一个或多个存储设备660。相关领域的技术人员将领会,所图示的实施例以及其他实施例可利用其他基于处理器的设备配置来实施,这些基于处理器的设备配置包括便携式电子设备或手持式电子设备,例如,智能电话、便携式计算机、可穿戴计算机、消费电子产品、个人计算机(“personal computer,PC”)、网络PC、小型计算机、服务器刀片、大型计算机,等等。
处理器核心618可包括任何数量的硬连线或可配置电路,其中的一些或全部可包括部分或完全地设置在能够执行处理器可读指令的PC、服务器或其他计算***中的电子组件、半导体器件和/或逻辑元件的可编程和/或可配置组合。
计算设备600包括总线或类似的通信链路616,该总线或类似的通信链路616可通信地耦合各种***组件,并且促进各种***组件之间的信息和/或数据的交换,这些***组件包括处理器核心618、缓存662、图形处理器电路***612、一个或多个无线I/O接口620、一个或多个有线I/O接口630、一个或多个存储设备660和/或一个或多个网络接口670。计算设备600在本文中能以单数形式引用,但是这不旨在将实施例限于单个计算设备600,因为在某些实施例中,可存在合并、包括、或包含任何数量的可通信地耦合的、并置的、或远程联网的电路或设备的多于一个的计算设备600。
处理器核心618可包括能够执行机器可读指令集的任何数量、类型的当前可用的或未来开发的设备或这些设备的任何组合。
处理器核心618可包括(耦合到)但不限于任何当前的或未来开发的单核心或多核心处理器或微处理器,诸如:一个或多个片上***(SOC);中央处理单元(CPU);数字信号处理器(DSP);图形处理单元(GPU);专用集成电路(ASIC)、可编程逻辑单元、现场可编程门阵列(FPGA)等。除非另有说明,否则图6中所示的各种框的构造和操作是常规设计。因此,此类框未在本文中进一步详细地描述,因为相关领域的技术人员可能会理解这些框。将计算设备600的组件中的至少一些组件互连起来的总线616可采用任何当前可用的或未来开发的串行或并行总线结构或体系结构。
***存储器640可包括只读存储器(“ROM”)642和随机存取存储器(“RAM”)646。ROM642的部分可用于存储或以其他方式保留基本输入/输出***(“basic input/outputsystem,BIOS”)644。BIOS 644例如通过使处理器核心618加载和/或执行一个或多个机器可读指令集614来向计算设备600提供基本功能。在实施例中,一个或多个机器可读指令集614中的至少一些使得处理器核心618的至少部分提供、创建、产生、转变和/或充当专用、指定且特定的机器,例如文字处理机、数字图像采集机、媒体播放机、游戏***、通信设备、智能电话等等。
计算设备600可包括至少一个无线输入/输出(I/O)接口620。至少一个无线I/O接口620可以可通信地耦合至一个或多个物理输出设备622(触觉设备、视频显示器、音频输出设备、硬拷贝输出设备等)。至少一个无线I/O接口620可以可通信地耦合至一个或多个物理输入设备624(指点设备、触摸屏、键盘、触觉设备等)。至少一个无线I/O接口620可包括任何当前可用的或未来开发的无线I/O接口。示例无线I/O接口包括但不限于:近场通信(near field communication,NFC)和类似物。
计算设备600可包括一个或多个有线输入/输出(I/O)接口630。至少一个有线I/O接口630可以可通信地耦合至一个或多个物理输出设备622(触觉设备、视频显示器、音频输出设备、硬副本输出设备等)。至少一个有线I/O接口630可以可通信地耦合至一个或多个物理输入设备624(指点设备、触摸屏、键盘、触觉设备等)。有线I/O接口630可包括任何当前可用的或未来开发的I/O接口。示例有线I/O接口包括但不限于:通用串行总线(universalserial bus,USB)、IEEE 1394(“火线”)和类似物。
计算设备600可包括一个或多个可通信地耦合的非瞬态数据存储设备660。数据存储设备660可包括一个或多个硬盘驱动器(hard disk drive,HDD)和/或一个或多个固态存储设备(solid-state storage device,SSD)。一个或多个数据存储设备660可包括任何当前或未来开发的存储装置、网络存储设备和/或***。此类数据存储设备660的非限制性示例可包括但不限于任何当前或未来开发的非瞬态存储装置或设备,诸如,一个或多个磁存储设备、一个或多个光存储设备、一个或多个电阻存储设备、一个或多个分子存储设备、一个或多个量子存储设备或其各种组合。在一些实现方式中,一个或多个数据存储设备660可包括一个或多个可移除存储设备,诸如,能够可通信地耦合至计算设备600和从计算设备600解耦的一个或多个闪存驱动器、闪存存储器、闪存存储单元或类似装置或设备。
一个或多个数据存储设备660可包括将相应的存储设备或***通信地耦合至总线616的接口或控制器(未示出)。一个或多个数据存储设备660可存储、保留或以其他方式包含对于处理器核心618和/或图形处理器电路***612和/或在处理器核心618和/或图形处理器电路***612上执行或由处理器核心618和/或图形处理器电路***612执行的一个或多个应用有用的机器可读指令集、数据结构、程序模块、数据存储、数据库、逻辑结构和/或其他数据。在一些实例中,一个或多个数据存储设备660可以例如经由总线616、或经由一个或多个有线通信接口630(例如,通用串行总线或USB)、一个或多个无线通信接口620(例如,近场通信或NFC)、和/或一个或多个网络接口670(IEEE 802.3或以太网、IEEE802.11或/>等等)而可通信地耦合至处理器核心618。
处理器可读指令集614和其他程序、应用、逻辑集合和/或模块可整体或部分地存储在***存储器640中。此类指令集614可整体或部分地从一个或多个数据存储设备660转移。指令集614在由处理器核心618和/或图形处理器电路***612执行期间可整体或部分地被加载、被存储、或以其他方式被保留在***存储器640中。
计算设备600可包括功率管理电路***650,该功率管理电路***650控制能量存储设备652的一个或多个操作方面。在实施例中,能量存储设备652可包括一个或多个主(即,非可重新充电的)电池或辅助(即,可重新充电的)电池或类似的能量存储设备。在实施例中,能量存储设备652可包括一个或多个超级电容器或超超级电容器。在实施例中,功率管理电路***650可改变、调整或控制从外部功率源654到能量存储设备652和/或到计算设备600的能量流。功率源654可包括但不限于太阳能电力***、商用电网、便携式发电机、外部能量存储设备、或其任何组合。
为方便起见,处理器核心618、图形处理器电路***612、无线I/O接口620、有线I/O接口630、存储设备660和网络接口670被图示为经由总线616通信地彼此耦合,由此提供上文所描述的组件之间的连接性。在替代实施例中,上文所描述的组件可以以与图6中所图示的不同的方式通信地耦合。例如,上文所描述的组件中的一个或多个组件可直接耦合至其他组件,或者可经由一个或多个中间组件(未示出)彼此耦合。在另一示例中,上文所描述的组件中的一个或多个组件可被集成到处理器核心618和/或图形处理器电路***612中。在一些实施例中,可省略总线616的全部或部分,并且使用合适的有线或无线连接直接将组件彼此耦合。
以下示例涉及进一步的实施例。示例1是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的装置。示例1的装置包括一个或多个处理器,该一个或多个处理器用于:标识服务的收集到的数据中记录的先前查询的情境跟踪,其中服务的微服务响应于先前查询;访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据;基于遥测数据来标识与先前查询相对应的激活简档,该激活简档详细说明微服务对先前查询的响应;针对先前查询将激活建档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常;以及基于异常的检测来推荐经修改的查询。
在示例2中,示例1的主题可任选地包括,其中将与经修改的查询的结果相对应的查询遥测数据存储在服务的存档中。在示例3中,示例1-示例2中任一项的主题可任选地包括,其中查询遥测数据被记录在于信任代理器中可用的本地区块链中以及用于服务的查询遥测元数据的其他区块链中。在示例4中,示例1-示例3中任一项的主题可任选地包括,其中一个或多个处理器为服务的控制器提供受信任执行环境(TEE)以推荐经修改的查询。
在示例5中,示例1-4中任一项的主题可任选地包括,其中指令使一个或多个处理器进一步用于:在服务的微服务体系结构的至少一个层中部署故障转移实体,其中至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;标识用于服务的微服务的边界条件;基于边界条件来生成对故障转移实体的查询;以及将查询注入到故障转移实体。在示例6中,示例1-示例5中任一项的主题可任选地包括,其中一个或多个处理器进一步用于分析故障转移实体对查询的响应,以确定故障转移实体的弹性。
在示例7中,示例1-示例6中任一项的主题可任选地包括,其中边界条件包括已知的、对服务的约束。在示例8中,示例1-示例7中任一项的主题可任选地包括,其中相关性简档包括服务的观察到的状态,并且其中相关性简档可以是预配置的或在服务操作时学***阈值中的至少一者的遥测数据度量来生成一个或多个评估度量。
示例11是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的非瞬态计算机可读存储介质。如示例11所述的非瞬态计算机可读存储介质具有存储于其上的可执行计算机程序指令,这些可执行计算机程序指令当由一个或多个处理器执行时,使这一个或多个处理器执行包括以下步骤的操作:通过一个或多个处理器,标识服务的收集到的数据中记录的先前查询的情境跟踪,其中服务的微服务响应于先前查询;访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据;基于遥测数据来标识与先前查询相对应的激活简档,该激活简档详细说明微服务对先前查询的响应;针对先前查询将激活建档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常;以及基于异常的检测来推荐经修改的查询。
在示例12中,示例11的主题可任选地包括,其中操作进一步包括将与经修改的查询的结果相对应的查询遥测数据存储在服务的存档中,其中查询遥测数据被记录在于信任代理器中可用的本地区块链中以及用于服务的查询遥测元数据的其他区块链中。在示例13中,示例11-12的主题可任选地包括,其中操作进一步包括:在服务的微服务体系结构的至少一个层中部署故障转移实体,其中至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;标识用于服务的微服务的边界条件;基于边界条件来生成对故障转移实体的查询;以及将查询注入到故障转移实体。
在示例14中,示例11-示例13的主题可任选地包括,其中操作进一步包括分析故障转移实体对查询的响应,以确定故障转移实体的弹性。在示例15中,示例11-示例14的主题可任选地包括,其中一个或多个处理器进一步用于基于经修改的查询是否生成满足质量或服务水平阈值中的至少一者的遥测数据度量来生成一个或多个评估度量。
示例16是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的方法。示例16的方法可包括:通过一个或多个处理器,标识服务的收集到的数据中记录的先前查询的情境跟踪,其中服务的微服务响应于先前查询;访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据;基于遥测数据来标识与先前查询相对应的激活简档,该激活简档详细说明微服务对先前查询的响应;针对先前查询将激活建档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常;以及基于异常的检测来推荐经修改的查询。
在示例17中,示例16的主题可任选地包括,进一步包括将与经修改的查询的结果相对应的查询遥测数据存储在服务的存档中,其中查询遥测数据被记录在于信任代理器中可用的本地区块链中以及用于服务的查询遥测元数据的其他区块链中。在示例18中,示例16-示例17的主题可任选地包括,进一步包括:在服务的微服务体系结构的至少一个层中部署故障转移实体,其中至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;标识用于服务的微服务的边界条件;基于边界条件来生成对故障转移实体的查询;以及将查询注入到故障转移实体。
在示例19中,示例16-示例18的主题可任选地包括,进一步包括分析故障转移实体对查询的响应,以确定故障转移实体的弹性。在示例20中,示例16-示例19的主题可任选地包括,进一步包括基于经修改的查询是否生成满足质量或服务水平阈值中的至少一者的遥测数据度量来生成一个或多个评估度量。
示例21是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的***。示例21的***可以任选地包括:存储器,用于存储数据块;以及处理器,可通信地耦合至存储器,该处理器用于:标识服务的收集到的数据中记录的先前查询的情境跟踪,其中服务的微服务响应于先前查询;访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据;基于遥测数据来标识与先前查询相对应的激活简档,该激活简档详细说明微服务对先前查询的响应;针对先前查询将激活建档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常;以及基于异常的检测来推荐经修改的查询。
在示例22中,示例21的主题可任选地包括,其中将与经修改的查询的结果相对应的查询遥测数据存储在服务的存档中。在示例23中,示例21-示例22中任一项的主题可任选地包括,其中查询遥测数据被记录在于信任代理器中可用的本地区块链中以及用于服务的查询遥测元数据的其他区块链中。在示例24中,示例21-23中任一项的主题可任选地包括,其中一个或多个处理器为服务的控制器提供受信任执行环境(TEE)以推荐经修改的查询。
在示例25中,示例21-24中任一项的主题可任选地包括,其中指令使一个或多个处理器进一步用于:在服务的微服务体系结构的至少一个层中部署故障转移实体,其中至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;标识用于服务的微服务的边界条件;基于边界条件来生成对故障转移实体的查询;以及将查询注入到故障转移实体。在示例26中,示例21-示例25中任一项的主题可任选地包括,其中一个或多个处理器进一步用于分析故障转移实体对查询的响应,以确定故障转移实体的弹性。
在示例27中,示例21-示例26中任一项的主题可任选地包括,其中边界条件包括已知的、对服务的约束。在示例28中,示例21-示例27中任一项的主题可任选地包括,其中相关性简档包括服务的观察到的状态,并且其中相关性简档可以是预配置的或在服务操作时学***阈值中的至少一者的遥测数据度量来生成一个或多个评估度量。
示例30是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的设备,包括:用于标识服务的收集到的数据中记录的先前查询的情境跟踪的装置,其中服务的微服务响应于先前查询;用于访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图的装置;用于基于互依赖性流程图来取回与情境跟踪相对应的微服务的遥测数据的装置;用于基于遥测数据来标识与先前查询相对应的激活简档的装置,该激活简档详细说明微服务对先前查询的响应;用于针对先前查询将激活建档与相关性简档进行比较,以检测响应于先前查询在服务中是否发生异常的装置;以及用于基于异常的检测来推荐经修改的查询的装置。在示例31中,示例30的主题可任选地包括,进一步被配置成用于执行如示例17至20中任一项所述的方法的设备。
示例32是至少一种机器可读介质,包括多个指令,该多个指令响应于在计算设备上被执行而使该计算设备执行根据示例16-示例20中任一项所述的方法。示例33是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的装置,该装置被配置成用于执行如示例16-示例20中任一项所述的方法。示例34是一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的设备,该设备包括用于执行如示例16至20中任一项所述的方法的装置。示例中的细节可以在一个或多个实施例中的任何地方使用。
前述说明书和附图应以说明性意义而非限制性意义来看待。本领域技术人员能够理解,可对本文中描述的实施例作出各种修改和改变,而不背离如所附权利要求所述的特征的更宽泛的精神和范围。
Claims (25)
1.一种装置,包括:
一个或多个处理器,用于:
标识服务的收集到的数据中记录的先前查询的情境跟踪,其中所述服务的微服务响应于所述先前查询;
访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;
基于所述互依赖性流程图来取回与所述情境跟踪相对应的所述微服务的遥测数据;
基于所述遥测数据来标识与所述先前查询相对应的激活简档,所述激活简档详细说明所述微服务对所述先前查询的响应;
针对所述先前查询将所述激活建档与相关性简档进行比较,以检测响应于所述先前查询在所述服务中是否发生异常;以及
基于所述异常的检测来推荐经修改的查询。
2.如权利要求1所述的装置,其特征在于,将与所述经修改的查询的结果相对应的查询遥测数据存储在所述服务的存档中。
3.如权利要求1-2中任一项所述的装置,其特征在于,所述查询遥测数据被记录在于信任代理器中能用的本地区块链中以及用于所述服务的查询遥测元数据的其他区块链中。
4.如权利要求1-3中任一项所述的装置,其特征在于,所述一个或多个处理器为所述服务的控制器提供受信任执行环境TEE以推荐所述经修改的查询。
5.如权利要求1-4中任一项所述的装置,其特征在于,所述一个或多个处理器进一步用于:
在服务的微服务体系结构的至少一个层中部署故障转移实体,其中所述至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;
标识用于所述服务的微服务的边界条件;
基于所述边界条件来生成对所述故障转移实体的查询;以及
将所述查询注入到所述故障转移实体。
6.如权利要求1-5中任一项所述的装置,其特征在于,所述一个或多个处理器进一步用于分析所述故障转移实体对所述查询的响应,以确定所述故障转移实体的弹性。
7.如权利要求1-6中任一项所述的装置,其特征在于,所述边界条件包括对已知的、所述服务的约束。
8.如权利要求1-7中任一项所述的装置,其特征在于,所述相关性简档包括所述服务的观察到的状态,并且其中所述相关性简档能够是预配置的或在所述服务操作时学习的中的至少一者。
9.如权利要求1-8中任一项所述的装置,其特征在于,所述激活简档标识所述服务利用的接口和计算元件,以提供对所述先前查询的响应。
10.如权利要求1-9中任一项所述的装置,其特征在于,所述一个或多个处理器进一步用于基于所述经修改的查询是否生成满足质量或服务水平阈值中的至少一者的遥测数据度量来生成一个或多个评估度量。
11.一种方法,包括:
通过一个或多个处理器,标识服务的收集到的数据中记录的先前查询的情境跟踪,其中所述服务的微服务响应于所述先前查询;
访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;
基于所述互依赖性流程图来取回与所述情境跟踪相对应的微服务的遥测数据;
基于所述遥测数据来标识与所述先前查询相对应的激活简档,所述激活简档详细说明所述微服务对所述先前查询的响应;
针对所述先前查询将所述激活建档与相关性简档进行比较,以检测响应于所述先前查询在所述服务中是否发生异常;以及
基于所述异常的检测来推荐经修改的查询。
12.如权利要求11所述的方法,进一步包括将与所述经修改的查询的结果相对应的查询遥测数据存储在所述服务的存档中,其中所述查询遥测数据被记录在于信任代理器中能用的本地区块链中以及用于所述服务的查询遥测元数据的其他区块链中。
13.如权利要求11-12中任一项所述的方法,进一步包括:
在服务的微服务体系结构的至少一个层中部署故障转移实体,其中所述至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;
标识用于所述服务的微服务的边界条件;
基于所述边界条件来生成对所述故障转移实体的查询;以及
将所述查询注入到所述故障转移实体。
14.如权利要求11-13中任一项所述的方法,进一步包括分析所述故障转移实体对所述查询的响应,以确定所述故障转移实体的弹性。
15.如权利要求11-14中任一项所述的方法,进一步包括基于所述经修改的查询是否生成满足质量或服务水平阈值中的至少一者的遥测数据度量来生成一个或多个评估度量。
16.一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的***,所述***包括:
存储器,所述存储器用于存储数据块;以及
处理器,所述处理器通信地耦合至所述存储器,用于:
标识服务的收集到的数据中记录的先前查询的情境跟踪,其中所述服务的微服务响应于所述先前查询;
访问表示体系结构和为服务部署的微服务的交互的互依赖性流程图;
基于所述互依赖性流程图来取回与所述情境跟踪相对应的微服务的遥测数据;
基于所述遥测数据来标识与所述先前查询相对应的激活简档,所述激活简档详细说明所述微服务对所述先前查询的响应;
针对所述先前查询将所述激活建档与相关性简档进行比较,以检测响应于所述先前查询在所述服务中是否发生异常;以及
基于所述异常的检测来推荐经修改的查询。
17.如权利要求16所述的***,其特征在于,将与所述经修改的查询的结果相对应的查询遥测数据存储在所述服务的存档中。
18.如权利要求16-17中任一项所述的***,其特征在于,所述查询遥测数据被记录在于信任代理器中能用的本地区块链中以及用于所述服务的查询遥测元数据的其他区块链中。
19.如权利要求16-18中任一项所述的***,其特征在于,所述一个或多个处理器为所述服务的控制器提供受信任执行环境TEE以推荐所述经修改的查询。
20.如权利要求16-19中任一项所述的***,其特征在于,所述一个或多个处理器进一步用于:
在服务的微服务体系结构的至少一个层中部署故障转移实体,其中所述至少一个层包括微服务层、容器层、虚拟机层或管理程序层中的至少一者;
标识用于所述服务的微服务的边界条件;
基于所述边界条件来生成对所述故障转移实体的查询;以及
将所述查询注入到所述故障转移实体。
21.如权利要求16-20中任一项所述的***,其特征在于,所述一个或多个处理器进一步用于分析所述故障转移实体对所述查询的响应,以确定所述故障转移实体的弹性。
22.如权利要求16-21中任一项所述的***,其特征在于,所述边界条件包括对已知的、所述服务的约束。
23.如权利要求16-22中任一项所述的***,其特征在于,所述相关性简档包括所述服务的观察到的状态,并且其中所述相关性简档能够是预配置的或在所述服务操作时学习的中的至少一者。
24.至少一种机器可读介质,包括多个指令,所述多个指令响应于在计算设备上被执行而使得所述计算设备执行如权利要求11-15中任一项所述的方法。
25.一种用于促进用于微服务体系结构中的增强的调试的遥测目标查询注入的设备,所述设备包括用于执行如权利要求11-15中任一项所述的方法的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/557,937 | 2021-12-21 | ||
US17/557,937 US11558265B1 (en) | 2021-12-21 | 2021-12-21 | Telemetry targeted query injection for enhanced debugging in microservices architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116304233A true CN116304233A (zh) | 2023-06-23 |
Family
ID=84922847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211640986.XA Pending CN116304233A (zh) | 2021-12-21 | 2022-12-20 | 用于微服务体系结构中的增强的调试的遥测目标查询注入 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11558265B1 (zh) |
CN (1) | CN116304233A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200374127A1 (en) * | 2019-05-21 | 2020-11-26 | The University Of Akron | Blockchain-powered cloud management system |
US20230108209A1 (en) * | 2021-10-05 | 2023-04-06 | International Business Machines Corporation | Managing workload in a service mesh |
US11822461B2 (en) * | 2021-11-08 | 2023-11-21 | Sap Se | Remote debugging of cloud application |
US11558265B1 (en) | 2021-12-21 | 2023-01-17 | Intel Corporation | Telemetry targeted query injection for enhanced debugging in microservices architectures |
US20230367703A1 (en) * | 2022-05-13 | 2023-11-16 | Microsoft Technology Licensing, Llc | Automated software testing with reinforcement learning |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210014114A1 (en) * | 2020-09-25 | 2021-01-14 | Intel Corporation | Methods, apparatus, and articles of manufacture for workload placement in an edge environment |
US20210117249A1 (en) * | 2020-10-03 | 2021-04-22 | Intel Corporation | Infrastructure processing unit |
CN113064700B (zh) * | 2021-04-30 | 2024-06-07 | 中国工商银行股份有限公司 | 容器部署方法及装置 |
US20220012095A1 (en) * | 2021-09-22 | 2022-01-13 | Intel Corporation | Metrics and security-based accelerator service rescheduling and auto-scaling using a programmable network device |
US11558265B1 (en) | 2021-12-21 | 2023-01-17 | Intel Corporation | Telemetry targeted query injection for enhanced debugging in microservices architectures |
-
2021
- 2021-12-21 US US17/557,937 patent/US11558265B1/en active Active
-
2022
- 2022-12-16 US US18/067,062 patent/US11750472B2/en active Active
- 2022-12-20 CN CN202211640986.XA patent/CN116304233A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230198863A1 (en) | 2023-06-22 |
US11750472B2 (en) | 2023-09-05 |
US11558265B1 (en) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558265B1 (en) | Telemetry targeted query injection for enhanced debugging in microservices architectures | |
US8762538B2 (en) | Workload-aware placement in private heterogeneous clouds | |
US9210040B2 (en) | Apparatus and methods for cognitive containters to optimize managed computations and computing resources | |
US9128773B2 (en) | Data processing environment event correlation | |
US11880287B2 (en) | Management of microservices failover | |
US9081750B2 (en) | Recovery escalation of cloud deployments | |
US9678784B2 (en) | Temporal dynamic virtual machine policies | |
US10187260B1 (en) | Systems and methods for multilayer monitoring of network function virtualization architectures | |
US10031750B2 (en) | Apparatus and methods for cognitive containters to optimize managed computations and computing resources | |
US20230412699A1 (en) | Provenance audit trails for microservices architectures | |
EP4198739A1 (en) | Matchmaking-based enhanced debugging for microservices architectures | |
JP2023046248A (ja) | プログラマブルネットワークデバイスを用いたメトリックおよびセキュリティベースのアクセラレータサービスリスケジューリング並びに自動スケーリング | |
CN116319240A (zh) | 使用用于确定性微服务性能的交互式矩阵的规模化遥测 | |
US20230195601A1 (en) | Synthetic data generation for enhanced microservice debugging in microservices architectures | |
US10031768B2 (en) | Host-gateway-facilitated aggregation of host-computer clusters | |
US20210224121A1 (en) | Virtual machine-initiated workload management | |
US11184244B2 (en) | Method and system that determines application topology using network metrics | |
US20230065444A1 (en) | Provisioning of physical servers through hardware composition | |
Schmieders et al. | Architectural runtime models for privacy checks of cloud applications | |
Fesl et al. | Efficient virtual machine consolidation approach based on user inactivity detection | |
US20220391250A1 (en) | Virtual execution environment power usage | |
Mohan | Provisioning Strategies for Centralized Bare-Metal Clusters | |
Ileana et al. | Using Docker Swarm to Improve Performance in Distributed Web Systems | |
Soursouri et al. | Adaptive resource allocation for software defined networking controllers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |