CN116149840A - 用于微服务架构中的基于云的混合服务网格的系统和方法 - Google Patents
用于微服务架构中的基于云的混合服务网格的系统和方法 Download PDFInfo
- Publication number
- CN116149840A CN116149840A CN202211437672.XA CN202211437672A CN116149840A CN 116149840 A CN116149840 A CN 116149840A CN 202211437672 A CN202211437672 A CN 202211437672A CN 116149840 A CN116149840 A CN 116149840A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- hybrid
- instance
- cloud platform
- 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
Images
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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
- 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
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/22—Microcontrol or microprogram arrangements
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/42—Centralised routing
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了用于微服务架构中的基于云的混合服务网格的系统和方法。用于在基于云的混合网格微服务架构中选择微服务的方法可以包括:(1)在第一微服务实例中的混合服务网格库处接收对第二微服务的请求,其中混合服务网格库包括多个微服务实例的微服务信息,该微服务信息包括每个微服务实例的标识、每个微服务实例的位置和每个微服务实例的状态;(2)由混合服务网格库识别用于微服务的微服务实例的数量以及每个微服务实例的位置;(3)由混合服务网格库选择多个微服务实例中的一个;以及(4)由混合服务网格库调用所选择的微服务实例。
Description
技术领域
实施例总体涉及用于微服务架构中的基于云的混合服务网格的系统和方法。
背景技术
团队正在将单块整体式服务从虚拟服务器接口(VSI)/物理服务器接口(PSI)迁移到云平台,从而产生混合平台应用。基于云的架构依赖于许多公共服务,诸如服务发现、负载平衡、弹性测试、无中断升级等。因此,应用开发团队必须单独学习、构建、配置、部署和维护这些服务。这项额外的工作会延迟应用的部署。
发明内容
公开了用于微服务架构中的基于云的混合服务网格的系统和方法。在一个实施例中,一种用于在分布式云平台网络中注册微服务实例的方法可以包括:(1)在分布式云平台网络中的多个被管理节点中的每个被管理节点处,每个被管理节点与云平台相关联,从由相关联的云平台托管的多个微服务实例接收微服务信息;(2)由每个被管理节点聚合微服务信息;(3)由每个被管理节点向分布式云平台网络中的其他被管理节点传送聚合的微服务信息;(4)由每个被管理节点将所接收的微服务信息与其聚合的微服务信息进行组合;以及(5)由分布式云平台网络中的应用将组合的微服务信息集成到混合服务网格库中。
在一个实施例中,每个微服务实例的微服务信息可以包括微服务实例标识符、主机云平台的主机标识符和微服务实例的状态。
在一个实施例中,微服务信息可以被周期性地更新。
在一个实施例中,混合服务网格库可以能够配置为将流量(traffic)路由到多个微服务实例中的一个。
根据另一个实施例,一种用于在基于云的混合网格微服务架构中选择微服务的方法可以包括:(1)在第一微服务实例中的混合服务网格库处接收对第二微服务的请求,其中混合服务网格库包括多个微服务实例的微服务信息,该微服务信息包括每个微服务实例的标识、每个微服务实例的位置和每个微服务实例的状态;(2)由混合服务网格库识别用于微服务的微服务实例的数量以及每个微服务实例的位置;(3)由混合服务网格库选择多个微服务实例中的一个;以及(4)由混合服务网格库调用所选择的微服务实例。
在一个实施例中,混合服务网格库可以为了跨多个微服务实例平衡负载、所选择的微服务实例的位置的地理邻近度、为了最小化延迟等,来选择所选择的微服务实例。
在一个实施例中,混合服务网格库可以能够配置为将流量路由到多个微服务实例中的一个。
在一个实施例中,当微服务实例上线或离线时,可以更新微服务实例中的一个的微服务信息。
在一个实施例中,所选择的微服务实例由与分布式云平台网络中的多个被管理节点中的一个相关联的云平台执行。
在一个实施例中,分布式云平台网络中的多个被管理节点中的每一个与云平台相关联。
在一个实施例中,多个被管理节点可以聚合由相关联的云平台托管的微服务实例的微服务信息。
在一个实施例中,多个被管理节点与其他被管理节点共享聚合的微服务信息。
根据另一个实施例,一种分布式云平台网络可以包括多个被管理节点,每个被管理节点与云平台相关联;由每个云平台托管的多个微服务实例;以及微服务,其包括混合服务网格库,该混合服务网格库包括多个微服务实例的微服务信息,该微服务信息包括每个微服务实例的标识、每个微服务实例的位置和每个微服务实例的状态,其中混合服务网格库识别用于微服务的微服务实例的数量和每个微服务实例的位置,选择多个微服务实例中的一个,以及调用所选择的微服务实例。
在一个实施例中,混合服务网格库为了跨多个微服务实例平衡负载、基于所选择的微服务实例的位置的地理邻近度、为了最小化延迟等,来选择所选择的微服务实例。
在一个实施例中,混合服务网格可以能够配置为将流量路由到多个微服务实例中的一个。
在一个实施例中,多个被管理节点可以与其他被管理节点共享聚合的微服务信息。
附图说明
为了更全面地理解本发明及其目的和优点,现参考以下结合附图的描述,其中:
图1描绘了根据实施例的基于云的混合网格微服务架构;
图2描绘了根据实施例的用于微服务架构中的基于云的混合服务网格的方法;和
图3描绘了根据另一个实施例的用于微服务架构中的基于云的混合服务网格的方法。
具体实施方式
实施例总体涉及用于微服务架构中的基于云的混合服务网格的系统和方法。
在实施例中,公开了具有公共可重用库的被管理服务,其将开发人员与定制基础设施细节隔离开来。实施例通过无缝集成和管理一组公共平台服务来简化基于云的应用的开发。这促进了平台的独立性(例如,一次写入,在任何地方运行),不需要对公共用例进行配置,防止重复工作,确保标准化和一致性(例如没有应用到应用的变化),并基于最佳实践实例化架构。
实施例可以提供以下优点中的至少一些:(1)更低的成本;(2)减少设置公共服务所需的人类触摸时间量;(3)减少手动错误;(4)更快的部署;(5)将解决方案整合到适用于多个应用的公共服务中,如弹性、负载平衡、日志记录、无中断升级等;(6)提供更好的控制(例如,允许实施和修改业务流程、策略和控制);(7)鼓励应用开发和运营团队之间更大的团结和协作;(8)提供增加生产率的稳定环境;以及(9)减少升级和部署期间的操作依赖性。
实施例可以提供动态平台,该平台可以减少或消除健康检查,可以提供配置管理,可以提供间隙池(gap pool)维护,可以优化资源利用率,可以提供水平缩放,可以提供地理亲和力负载平衡配置,可以使用公共特征(诸如领导者选举、唯一标识符生成、特征标志等),可以提供具有上限的故障检测和/或传播,可以需要最小的网络流量,并且可以提供对多种编程语言的支持。例如,实施例可以凭借具有微服务实例的动态注册来促进分布式协议服务,诸如领导者选举、唯一标识符生成等。
如本文所用,“微服务”是指可独立部署、松散耦合、高度可维护和可测试的任何服务。微服务的副本可以部署到不同的云平台作为微服务实例。
参考图1,图示了根据一个实施例的基于云的混合网格微服务架构。分布式云平台网络100可以是用于一个或多个微服务的集群,其可以包括多个云提供商,诸如云提供商11201、云提供商2 1202和云提供商n 120n。每个云提供商可以托管一个微服务实例(例如,1301、1302、…、130n),例如,每个微服务的分开部署,并且可以使用节点1101、1102、…、110n(诸如,被管理节点或“MNode”)与其他云提供商界接(interface)。
MNode 110可以由分布式云平台网络100提供,并且不是应用或微服务的一部分。
尽管每个云提供商120可以托管多个微服务130,但图1描绘了由每个云提供商120托管的单个微服务(例如,1301、1302、…、130n)。微服务130可以执行相同的功能、不同的功能等。
每个微服务(例如,1301、1302、…、130n)可以包括应用逻辑(例如,1321、1322、…、132n)和混合服务网格库(例如,1341、1342、…、134n)。应用逻辑132可以包括每个微服务130执行所需的逻辑。
混合服务网格库134可以包括关于所有云提供商120处的注册的微服务130的实例的微服务信息。例如,混合服务网格库134可以聚合来自每个MNode 110的微服务信息,并可以维护微服务信息的库。微服务信息的示例包括微服务实例标识符(例如,唯一地标识微服务实例的任何标识符)、主机云平台的主机标识符(例如唯一地标识用于微服务实例的主机云平台的任何标识符)或微服务实例的位置,以及微服务实例的状态。
在实施例中,每个微服务(例如,1301、1302、…、130n)可以自动向其本地MNode1101、1102、…、110n注册其服务。每个MNode 1101、1102、…、110n可以将其数据传送到服务集群中的所有其他MNode。每个混合服务网格库134可以被周期性地更新。
云提供商1 1201、云提供商2 1202和云提供商n 120n可以是不同的云平台,可以是相同云平台的不同实例等。云平台的示例包括AMAZON WEB SERVICES平台、GOOGLE CLOUD平台、MICROSOFT AZURE平台等。
实施例有效地提供了包括混合服务网格库134和MNode 110的控制平面。
可以使用查找来检索每个微服务130的可用性状态和配置偏好(preference)。例如,混合服务网格库134可以查找每个微服务130的状态和位置(例如,主机)。
在实施例中,微服务130可以在做出路由和策略决策时加入客户端-服务器偏好。
当本地MNode 110不可达到时,微服务130可以使用集群中的非本地MNode110作为退路(fallback)。
可以提供用户接口(未示出)以使得能够配置混合服务网格库134。例如,用户可以配置混合服务网格库134以将流量路由到一个或多个微服务130以进行测试、金丝雀部署等。
参考图2,根据实施例,公开了用于使用微服务架构中的基于云的混合服务网格的示例性方法。
在步骤205中,在启动后,每个微服务可以向其本地MNode注册。在一个实施例中,微服务可以向其本地MNode提供微服务信息,例如微服务标识符、位置(例如,主机)和状态。
在步骤210中,MNode可以聚合其本地微服务的微服务信息,并且在步骤215中,可以与集群中的其他MNode共享该信息。MNode可以将来自其他MNode的微服务信息与其聚合的微服务信息进行组合。
在步骤220中,MNode可以向每个微服务内的混合服务网格库提供微服务信息。混合服务网格库可以集成微服务信息。
在步骤225中,在执行过程中,微服务可以识别要调用的微服务。微服务可以是应用内的流程的一部分。
在步骤230中,应用可以识别混合服务网格库中的期望微服务的实例。
在步骤235中,混合服务网格库可以识别混合云平台网络内的期望微服务的微服务实例的数量以及每个微服务实例的执行的位置(例如,主机)。
在步骤240中,如果一个以上的微服务实例正在运行,则混合服务网格库可以选择微服务实例以用于负载平衡。在另一个实施例中,混合服务网格库可以选择微服务实例,这最小化延迟。在另一个实施例中,混合服务网格库可以基于地理亲和力来选择微服务实例。根据需要和/或期望,可以使用这些考虑的组合。
在一个实施例中,混合服务网格库可以能够配置为将流量路由到一个或多个微服务实例,用于金丝雀部署、A-B测试等。
在步骤245中,混合服务网格库可以调用所选择的微服务实例,并且在步骤250中,微服务实例可以向应用返回结果。对于下一个识别的微服务,可以重复该过程。
参考图3,根据另一个实施例,公开了用于使用微服务架构中的基于云的混合服务网格的示例性方法。
在步骤305中,在启动后,混合网格微服务网络中的云平台的每个被管理节点(MNode)可以从其相应云平台托管的微服务实例接收微服务信息。在一个实施例中,微服务信息可以包括微服务实例标识符、微服务实例的位置(例如,主机标识符)和状态。
在步骤310中,MNode可以聚合其本地微服务实例的微服务信息,并且在步骤315中,可以与其他MNode共享聚合的微服务信息。MNode可以将从其他MNode接收的微服务信息与其聚合的微服务信息进行组合。
在步骤320中,微服务实例可以从它们的MNode接收聚合的微服务信息,并可以将聚合的微服务信息集成到每个微服务实例内的混合服务网格库。
在步骤325中,在执行过程中,混合服务网格库中的一个可以接收要调用的微服务。标识可以来自应用或外部流程。
在步骤330中,混合服务网格库可以识别混合服务网格库中的期望微服务的实例。例如,其可以识别集群内的期望微服务的实例的数量以及每个期望微服务的执行的位置(例如,主机云平台)。
在步骤335中,如果一个以上的微服务实例正在运行,则混合服务网格库可以选择微服务实例中的一个以用于负载平衡。在另一个实施例中,混合服务网格库可以选择微服务实例,这最小化延迟。在另一个实施例中,混合服务网格库可以基于地理亲和力来选择微服务实例。根据需要和/或期望,可以使用这些考虑的组合。
在一个实施例中,混合服务网格库可以能够配置为将流量路由到一个或多个具体微服务实例。这对于金丝雀部署、A-B测试等可能有用。在一个实施例中,可以使用用户接口配置混合服务网格库。
在步骤340中,混合服务网格库可以调用所选择的微服务实例,并且在步骤345中,微服务实例可以向应用返回结果。对于下一个识别的微服务,可以重复该过程。
实施例可以用于执行以下一些或全部用例:调用微服务的具体版本、云微服务的自动启用/禁用、将微服务迁移到另一个平台、部署混合平台、与多个服务版本交互、“金丝雀”部署(例如,逐步发布)、A-B测试(例如,测试微服务实例的新版本)、配置管理、集中式度量、分布式跟踪、集中式日志记录等。
在下文中,将描述本发明的系统和方法的实施方式的一般方面。
本发明的系统或本发明的系统的部分可以是“处理机”的形式,例如,诸如通用计算机。如本文使用的,术语“处理机”将被理解为包括使用至少一个存储器的至少一个处理器。至少一个存储器存储指令集。指令可以永久或临时存储在处理机的一个或多个存储器中。处理器执行存储在一个或多个存储器中的指令,以便处理数据。指令集可以包括执行一个或多个特定任务(诸如上面描述的那些任务)的各种指令。用于执行特定任务的这样的指令集可以被表征为程序、软件程序或者简单表征为软件。
在一个实施例中,处理机可以是专门处理器。
在一个实施例中,处理机可以是基于云的处理机、物理处理机或其组合。
如上面提到的,处理机执行存储在一个或多个存储器中的指令以处理数据。数据的该处理可以例如响应于由处理机的一个或多个用户的命令、响应于先前处理、响应于由另一个处理机的请求和/或任何其它输入。
如上面提到的,用于实施本发明的处理机可以是通用计算机。然而,上面描述的处理机也可以利用多种多样的其它技术中的任一种,多种多样的其它技术包括专用计算机、计算机系统(包括例如,微型计算机、小型计算机或大型计算机)、编程微处理器、微控制器、外围设备集成电路元件、CSIC(客户专用集成电路)或ASIC(专用集成电路)或其它集成电路、逻辑电路、数字信号处理器、可编程逻辑设备(诸如FPGA、PLD、PLA或PAL)、或能够实施本发明的过程的步骤的任何其它设备或设备的布置。
用于实施本发明的处理机可以使用合适的操作系统。
应当了解,为了实践如上所述的本发明的方法,处理机的处理器和/或存储器不必在物理上位于相同地理位置。也就是说,由处理机使用的处理器和存储器中的每个可以位于地理上不同的位置,并且经连接以便以任何合适的方式通信。此外,应当了解,处理器和/或存储器中的每个可以由不同物理件装备组成。因此,处理器不必是在一个位置中的一个单件装备,并且存储器不必是在另一个位置中的另一个单件装备。也就是说,可预期处理器可以是在两个不同物理位置的两件装备。两件不同装备可以以任何合适方式连接。此外,存储器可以包括在两个或更多个物理位置的存储器的两个或更多个部分。
为了另外阐明,如上所述,由各种部件和各种存储器执行处理。然而,应当了解,根据本发明的另外的实施例,可以由单个部件执行如上所述由两个不同部件执行的处理。另外,可以由两个不同部件执行如上所述由一个不同部件执行的处理。以类似的方式,根据本发明的另外的实施例,可以由单个存储器部分执行如上所述由两个不同存储器部分执行的存储器存储。另外,可以由两个存储器部分执行如上所述由一个不同存储器部分执行的存储器存储。
另外,各种技术可以用于提供各种处理器和/或存储器之间的通信,以及允许本发明的处理器和/或存储器与另一个其它实体通信;即,例如,以便获得另外的指令或访问和使用远程存储器存储。例如,用于提供此类通信的此类技术可以包括网络(互联网、内联网、外联网、LAN、以太网)、经由蜂窝塔或卫星的无线通信或提供通信的任何客户端服务器系统。此类通信技术可以使用任何合适协议,例如,诸如TCP/IP、UDP或OSI。
如上所述,可以在本发明的处理中使用指令集。指令集可以是程序或软件的形式。例如,软件可以是系统软件或应用软件的形式。例如,软件也可以是单独程序的集合、较大程序内的程序模块或程序模块的一部分的形式。使用的软件也可以包括为面向对象编程形式的模块化编程。软件告诉处理机对正在处理的数据做什么。
另外,应当了解,在本发明的实施方式和操作中使用的指令或指令集可以是合适的形式,使得处理机可以读取指令。例如,形成程序的指令可以是合适编程语言的形式,合适编程语言被转换成机器语言或对象代码,以允许一个或多个处理器读取指令。也就是说,特定编程语言的编写的编程代码或源代码行使用编译器、汇编器或解译器转换成机器语言。机器语言是特定于特定类型的处理机(即,例如,特定于特定类型的计算机)的二进制编码机器指令。计算机理解机器语言。
可以根据本发明的各种实施例使用任何合适的编程语言。不必结合本发明的系统和方法的操作来利用单个类型的指令或单个编程语言。相反,根据需要和/或期望,可以利用任何数量的不同编程语言。
再者,在本发明的实践中使用的指令和/或数据可以利用任何压缩或加密技术或算法,如可以期望的。加密模块可以用于对数据进行加密。另外,例如,文件或其它数据可以使用合适的解密模块来解密。
如上所述,本发明可以例示性地以包括例如计算机或计算机系统的处理机的形式体现,计算机或计算机系统包括至少一个存储器。应当了解,根据期望,使得计算机操作系统能够执行上面描述的操作的指令集(即,例如,软件)可以包含在多种多样的介质中的任一种上。另外,由指令集处理的数据也可以包含在多种多样的介质中的任一种上。也就是说,例如,用于保存本发明中使用的指令集和/或数据的特定介质(即,处理机中的存储器)可以采取多种物理形式或传输中的任一种。例示性地,介质可以是纸、纸透明胶片、光碟、DVD、集成电路、硬盘、软盘、光盘、磁带、RAM、ROM、PROM、EPROM、电线、电缆、光纤、通信信道、卫星传输、存储卡、SIM卡或其它远程传输、以及可以由本发明的处理器读取的任何其它介质或数据源的形式。
另外,根据期望,在实施本发明的处理机中使用的一个或多个存储器可以是多种多样的形式中的任一种,以允许存储器保存指令、数据或其它信息。因此,存储器可以是用以保存数据的数据库的形式。数据库可以使用任何期望的文件布置,例如,诸如平面文件布置或关系数据库布置。
在本发明的系统和方法中,多种“用户接口”可以用于允许用户与用于实施本发明的一个或多个处理机接口连接。如本文使用的,用户接口包括由允许用户与处理机交互的处理机使用的任何硬件、软件或硬件和软件的组合。例如,用户接口可以是对话屏幕的形式。用户接口也可以包括以下中的任一个:鼠标、触摸屏、键盘、小键盘、语音读取器、语音辨识器、对话屏幕、菜单框、列表、复选框、拨动开关、按钮或允许用户在其处理指令集和/或向处理机提供信息时接收关于处理机的操作的信息的任何其它设备。因此,用户接口是提供用户和处理机之间的通信的任何设备。例如,由用户通过用户接口提供到处理机的信息可以是命令、数据的选择或某个其它输入的形式。
如上面讨论的,由执行指令集的处理机利用用户接口,使得处理机处理用户的数据。用户接口通常由处理机使用,以用于与用户交互,以运送信息或从用户接收信息。然而,应当了解,根据本发明的系统和方法的一些实施例,人类用户实际不必与由本发明的处理机使用的用户接口交互。相反,也可预期本发明的用户接口可以与另一个处理机而不是人类用户交互,即,运送和接收信息。因此,其它处理机可以被表征为用户。另外,可预期在本发明的系统和方法中利用的用户接口可以与另一个处理机或多个处理机部分交互,同时也与人类用户部分交互。
本领域技术人员将容易理解,本发明易于广泛利用和应用。除了本文描述的那些之外的本发明的许多实施例和改编,以及许多变型、修改和等同布置将从本发明及其前述描述显而易见,或由本发明及其前述描述合理提出,而不脱离本发明的实质或范围。
因此,虽然在这里已经关于本发明的示例性实施例详细描述本发明,但是应当理解,本公开仅为本发明的说明和示例,并且被用来提供本发明的实现性公开内容。因此,前述公开内容不旨在解释或限制本发明或以其它方式排除任何其它此类实施例、改编、变型、修改或等同布置。
Claims (20)
1.一种用于在分布式云平台网络中注册微服务实例的方法,其包括:
在所述分布式云平台网络中的多个被管理节点中的每个被管理节点处,每个被管理节点与云平台相关联,从由相关联的云平台托管的多个微服务实例接收微服务信息;
由每个被管理节点聚合所述微服务信息;
由每个被管理节点向所述分布式云平台网络中的其他被管理节点传送聚合的微服务信息;
由每个被管理节点将所接收的微服务信息与其聚合的微服务信息进行组合;以及
由所述分布式云平台网络中的应用将组合的微服务信息集成到混合服务网格库中。
2.根据权利要求1所述的方法,其中每个微服务实例的所述微服务信息包括微服务实例标识符、主机云平台的主机标识符和所述微服务实例的状态。
3.根据权利要求1所述的方法,其中所述微服务信息被周期性地更新。
4.根据权利要求1所述的方法,其中所述混合服务网格库能够配置为将流量路由到所述多个微服务实例中的一个。
5.一种用于在基于云的混合网格微服务架构中选择微服务的方法,其包括:
在第一微服务实例中的混合服务网格库处接收对第二微服务的请求,其中所述混合服务网格库包括多个微服务实例的微服务信息,所述微服务信息包括每个微服务实例的标识、每个微服务实例的位置和每个微服务实例的状态;
由所述混合服务网格库识别用于所述微服务的微服务实例的数量以及每个微服务实例的所述位置;
由所述混合服务网格库选择所述多个微服务实例中的一个;以及
由所述混合服务网格库调用所选择的微服务实例。
6.根据权利要求5所述的方法,其中所述混合服务网格库选择所选择的微服务实例以跨所述多个微服务实例平衡负载。
7.根据权利要求5所述的方法,其中所述混合服务网格库基于所选择的微服务实例的所述位置的地理邻近度来选择所选择的微服务实例。
8.根据权利要求5所述的方法,其中所述混合服务网格库选择所选择的微服务实例以最小化延迟。
9.根据权利要求5所述的方法,其中所述混合服务网格库能够配置为将流量路由到所述多个微服务实例中的一个。
10.根据权利要求5所述的方法,其中当所述微服务实例上线或离线时,更新所述微服务实例中的一个的所述微服务信息。
11.根据权利要求5所述的方法,其中所选择的微服务实例由与分布式云平台网络中的多个被管理节点中的一个相关联的云平台执行。
12.根据权利要求11所述的方法,其中所述分布式云平台网络中的所述多个被管理节点中的每一个与云平台相关联。
13.根据权利要求12所述的方法,其中所述多个被管理节点聚合由相关联的云平台托管的所述微服务实例的所述微服务信息。
14.根据权利要求12所述的方法,其中所述多个被管理节点与其他被管理节点共享聚合的微服务信息。
15.一种分布式云平台网络,其包括:
多个被管理节点,每个被管理节点与云平台相关联;
由每个云平台托管的多个微服务实例;以及
微服务,其包括混合服务网格库,所述混合服务网格库包括所述多个微服务实例的微服务信息,所述微服务信息包括每个微服务实例的标识、每个微服务实例的位置和每个微服务实例的状态,其中所述混合服务网格库识别用于所述微服务的微服务实例的数量和每个微服务实例的所述位置,选择所述多个微服务实例中的一个,并且调用所选择的微服务实例。
16.根据权利要求15所述的分布式云平台网络,其中所述混合服务网格库选择所选择的微服务实例以跨所述多个微服务实例平衡负载。
17.根据权利要求15所述的分布式云平台网络,其中所述混合服务网格库基于所选择的微服务实例的所述位置的地理邻近度来选择所选择的微服务实例。
18.根据权利要求15所述的分布式云平台网络,其中所述混合服务网格库选择所选择的微服务实例以最小化延迟。
19.根据权利要求15所述的分布式云平台网络,其中所述混合服务网格库能够配置为将流量路由到所述多个微服务实例中的一个。
20.根据权利要求15所述的分布式云平台网络,其中所述多个被管理节点与其他被管理节点共享聚合的微服务信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/455,799 | 2021-11-19 | ||
US17/455,799 US11522949B1 (en) | 2021-11-19 | 2021-11-19 | Systems and methods for cloud-based hybrid service meshes in microservice architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116149840A true CN116149840A (zh) | 2023-05-23 |
Family
ID=84324783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211437672.XA Pending CN116149840A (zh) | 2021-11-19 | 2022-11-17 | 用于微服务架构中的基于云的混合服务网格的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11522949B1 (zh) |
CN (1) | CN116149840A (zh) |
GB (1) | GB2614796A (zh) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012139098A1 (en) * | 2011-04-07 | 2012-10-11 | Pneuron Corp. | Legacy application migration to real time, parallel performance cloud |
US10129078B2 (en) * | 2014-10-30 | 2018-11-13 | Equinix, Inc. | Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange |
DE112017006994T5 (de) * | 2017-02-05 | 2019-10-17 | Intel Corporation | Bereitstellung und verwaltung von microservices |
US20180254996A1 (en) * | 2017-03-03 | 2018-09-06 | International Business Machines Corporation | Automatic scaling of microservices based on projected demand |
US10261836B2 (en) * | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
US10389596B2 (en) * | 2017-03-30 | 2019-08-20 | Ca, Inc. | Discovering application topologies |
US10530840B2 (en) * | 2017-03-31 | 2020-01-07 | Ca, Inc. | Container-based system analytics appliance |
US10735509B2 (en) * | 2018-01-31 | 2020-08-04 | Ca, Inc. | Systems and methods for synchronizing microservice data stores |
US10644970B2 (en) * | 2018-07-11 | 2020-05-05 | Sony Interactive Entertainment LLC | Tracking application utilization of microservices |
US10673708B2 (en) * | 2018-10-12 | 2020-06-02 | International Business Machines Corporation | Auto tuner for cloud micro services embeddings |
US11184241B2 (en) * | 2019-02-08 | 2021-11-23 | International Business Machines Corporation | Topology-aware continuous evaluation of microservice-based applications |
US11676103B2 (en) * | 2019-05-23 | 2023-06-13 | Capital One Services, Llc | Flexible format encryption |
CN110275724A (zh) * | 2019-06-26 | 2019-09-24 | 广州小鹏汽车科技有限公司 | 一种服务实例更新方法和装置 |
US11321160B2 (en) * | 2019-11-01 | 2022-05-03 | Splunk Inc. | In a microservices-based application, mapping distributed error stacks across multiple dimensions |
CN112905364A (zh) * | 2021-03-31 | 2021-06-04 | 重庆度小满优扬科技有限公司 | 微服务的调用方法与电子设备 |
-
2021
- 2021-11-19 US US17/455,799 patent/US11522949B1/en active Active
-
2022
- 2022-11-16 GB GB2217100.3A patent/GB2614796A/en active Pending
- 2022-11-17 CN CN202211437672.XA patent/CN116149840A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
GB202217100D0 (en) | 2022-12-28 |
US11522949B1 (en) | 2022-12-06 |
GB2614796A (en) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347806B2 (en) | Discovery of containerized platform and orchestration services | |
US11157304B2 (en) | System for peering container clusters running on different container orchestration systems | |
US9893940B1 (en) | Topologically aware network device configuration | |
JP6162194B2 (ja) | ユニバーサルフローを変換するためのシャーシコントローラ | |
EP2815346B1 (en) | Coordination of processes in cloud computing environments | |
CN112099918A (zh) | 容器化环境中的集群的实时迁移 | |
CN102202078B (zh) | 一种用于配置服务器场的多个异类角色的方法和系统 | |
JP2008204430A (ja) | ビジネスプロセス再構成方法、そのプログラム及び計算機 | |
US10715457B2 (en) | Coordination of processes in cloud computing environments | |
KR102524540B1 (ko) | 멀티 클라우드 서비스 플랫폼 장치 및 방법 | |
US8027817B2 (en) | Simulation management within a grid infrastructure | |
CN111970354A (zh) | 一种边缘计算中的应用管理方法以及相关装置 | |
US10608867B2 (en) | Method and an electronic arrangement for providing demand-supply service of physical communication network resources | |
Chen et al. | MORE: A model-driven operation service for cloud-based IT systems | |
US10817280B1 (en) | Overriding shared service interfaces | |
US10963314B2 (en) | Discovery and mapping of a platform-as-a-service environment | |
CN116755799A (zh) | 一种服务编排系统和方法 | |
Romanov et al. | Principles of building modular control plane in software-defined network | |
CN114615320B (zh) | 服务治理方法、装置、电子设备及计算机可读存储介质 | |
US11290318B2 (en) | Disaster recovery of cloud resources | |
US11522949B1 (en) | Systems and methods for cloud-based hybrid service meshes in microservice architectures | |
CN114615268A (zh) | 基于Kubernetes集群的服务网络、监控节点、容器节点及设备 | |
US11954469B2 (en) | Bases for pattern-based cloud computing | |
Corbo | Automation of Edge Datacenter Infrastructure | |
US20230281054A1 (en) | Computer System Execution Environment Builder Tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |