WO2025232192A1 - 一种公有云虚拟网络控制面的大规模服务调度方法及系统 - Google Patents

一种公有云虚拟网络控制面的大规模服务调度方法及系统

Info

Publication number
WO2025232192A1
WO2025232192A1 PCT/CN2024/138518 CN2024138518W WO2025232192A1 WO 2025232192 A1 WO2025232192 A1 WO 2025232192A1 CN 2024138518 W CN2024138518 W CN 2024138518W WO 2025232192 A1 WO2025232192 A1 WO 2025232192A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
provider
scale
control plane
virtual network
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
Application number
PCT/CN2024/138518
Other languages
English (en)
French (fr)
Other versions
WO2025232192A9 (zh
Inventor
蓝中文
赵旭民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Cloud Technology Co Ltd
Original Assignee
China Telecom Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Cloud Technology Co Ltd filed Critical China Telecom Cloud Technology Co Ltd
Publication of WO2025232192A1 publication Critical patent/WO2025232192A1/zh
Publication of WO2025232192A9 publication Critical patent/WO2025232192A9/zh
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Definitions

  • This invention belongs to the field of cloud computing networks, and in particular relates to a large-scale service scheduling method and system for the control plane of a public cloud virtual network.
  • Compute nodes In cloud computing, large regions deploy massive numbers of compute nodes in data centers, sometimes reaching tens of thousands or even hundreds of thousands of physical compute nodes. Each compute node will deploy dozens or hundreds of virtual machines, or even more lightweight containers. Each compute node will also deploy a distributed controller service or agent for virtual networks, which will manage the network-related configurations of the virtual machines or containers on the local machine.
  • server-side strongly consistent systems themselves have limitations in terms of quantity and scale, cannot support high-frequency operations, experience memory and I/O bottlenecks, and cannot scale horizontally.
  • Existing systems lack proximity-based access and latency-priority scheduling schemes; they often require external deployment systems to achieve canary releases, lacking inherent canary release capabilities.
  • This invention addresses the problems of existing technologies by providing a method and system for large-scale service scheduling of the public cloud virtual network control plane.
  • the technical solution adopted is as follows:
  • a method for large-scale service scheduling of a public cloud virtual network control plane comprising:
  • S1 specifically includes:
  • the Provider service provider registers the service's listening port, IP address, and corresponding exposed service name with the scale service;
  • S2 also includes:
  • the consumer obtains the IP and port of the corresponding provider on the scale by using the service name;
  • S3 specifically includes:
  • S32 stores the registration mapping information of the Provider service provider and the scale service, and provides a key/value-based query interface.
  • embodiments of the present invention provide a large-scale service scheduling system for the public cloud virtual network control plane, used to implement the large-scale service scheduling method for the public cloud virtual network control plane described in the first aspect, the system comprising:
  • the service module is used to set the Provider service provider and its tag attributes, and to register the service name on the scale service through the service provider;
  • the access module is used to access the service provider through the consumer, and to classify, register, and schedule the service according to tags.
  • the first registration module is used to provide scale registration provider information through the Mesh service based on shared memory
  • the second registration module is used to perform elastic scaling registration through the Scale service based on the shared memory.
  • the service module specifically includes:
  • the service registration unit is used to register the listening port, IP address, and corresponding exposed service name of the service with the scale service through the Provider service provider;
  • the scheduling processing unit is used to assign corresponding tag attributes to the Provider service provider and make scheduling decisions based on these attributes.
  • the access module also includes:
  • the port acquisition unit is used by the consumer to obtain the IP address and port of the corresponding Provider on the scale by means of the service name;
  • the instance selection unit is used to select the Provider service instance through the consumer based on the tag.
  • the first registration module specifically includes:
  • the cluster deployment unit is used to perform multi-instance cluster deployment based on the Provider service instance
  • the interface service unit stores the registration mapping information of the Provider service provider and the scale service, and provides a key/value-based query interface.
  • embodiments of the present invention provide an electronic device, including a memory and a processor, wherein the memory is used to store one or more computer instructions, wherein when the one or more computer instructions are executed by the processor, they implement the method described in the first aspect above.
  • embodiments of the present invention provide a computer storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, it implements the method described in the first aspect.
  • This invention's method manages services with varying frequencies of change through a layered system. For example, in real-world scenarios, the number of service providers is relatively small, so subscription and push services are implemented at the Mesh service layer. The number of consumers is relatively large and changes frequently, so subscription and push services are implemented at the scale service layer, with intelligent switching on the client side.
  • Mesh service information is synchronized through multicast and custom protocols. Fine-grained traffic scheduling is achieved through attribute labeling, ensuring localized service access and minimizing cross-availability zone access unless absolutely necessary. Automatic or manual service degradation is possible through configuration center control. Services at all levels are in-memory, eliminating dependencies on etcd or databases.
  • This invention's method allows for policy configuration to support selecting low-latency service instances through service latency detection. Furthermore, this method employs tag-based scheduling to achieve canary release capabilities.
  • Figure 1 is a flowchart of a large-scale service scheduling method for the control plane of a public cloud virtual network provided in an embodiment of the present invention
  • Figure 2 is a schematic diagram of a large-scale service scheduling system for the control plane of a public cloud virtual network provided in an embodiment of the present invention
  • Figure 3 is a schematic diagram illustrating the implementation of a large-scale service scheduling method for the control plane of a public cloud virtual network provided in an embodiment of the present invention.
  • installed should be interpreted broadly; for example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal communication of two elements.
  • installed should be interpreted broadly; for example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal communication of two elements.
  • Figure 1 shows a flowchart of a large-scale service scheduling method for the public cloud virtual network control plane.
  • the large-scale service scheduling method for the public cloud virtual network control plane provided in this embodiment includes:
  • the Provider service provider such as the tenant management service at the cloud computing IaaS layer, the management area tenant caching service, the network element management service, the cluster group management service, etc.
  • S1 specifically includes:
  • the Provider service provider registers the service's listening port, IP address, and corresponding exposed service name with the scale service;
  • the provider will register the service's listening port, IP address, and corresponding exposed service name (i.e., service name) with the scale service;
  • Availability Zone AZ
  • prioritizing access to the nearest AZ AZ
  • the next step, according to S2, is for Consumers to access client services or programs of Providers, such as compute node controllers, network element controllers, cross-domain proxies, and API services at the cloud computing IaaS layer; it supports registration and scheduling by tag classification; it supports local caching; S2 also includes:
  • the consumer obtains the IP and port of the corresponding provider on the scale by using the service name;
  • S31 provides multi-instance clustered deployment. It is recommended to deploy more than one instance per AZ. In the current network deployment of c3AZ, one instance per AZ is sufficient to meet availability requirements.
  • S32 stores the registration mapping information of Provider and scale, and provides a key/value-based query interface
  • S34 provides a kernel persistence implementation based on shared memory, avoiding data loss or re-acquisition caused by process-level restarts;
  • S35 provides mirrored homogeneous storage, with strong consistency of information views among instances.
  • the underlying Paxos distributed strong consistency protocol provides strong consistency of stored information.
  • S36 provides keep-alive heartbeat service and version-based synchronization service between instances, making it easy to add new instances or join the cluster after a restart. It only provides services to the outside world after full synchronization.
  • S37 provides tagging services, allowing instances to be flexibly tagged and scheduled according to tags.
  • Scale service a memory-based elastic scaling registration service—ensures high availability across multiple instances. Each instance holds the same Provider information and a partitioned set of consumer information. The consumer information from all scale instances constitutes the overall consumer information. Generally, the consumer information held by scale instances does not overlap. Scale allows registration of both Providers and consumers, specifically including:
  • S41 provides multi-instance clustered deployment, with a recommended deployment of 3 or more instances per Availability Zone (AZ). In the current deployment, 3 AZs per instance are sufficient to meet availability and performance requirements.
  • AZ Availability Zone
  • S42 stores the registration mapping information of consumers and providers and provides a key/value-based query interface
  • S43 supports a watch-notify mechanism, which will notify interested list members when there are new registrations or new deregistrations;
  • S44 provides a pure in-memory implementation for high-performance, ultimate access
  • S45 pulls the list of Providers from the Mesh service and listens for Provider change notifications
  • each scale instance only manages the mapping relationship between consumers and corresponding providers registered to this instance;
  • the scale client SDK provides a configurable consistent hash algorithm for electing scale instances
  • S48 provides a tagging service, allowing instances to be flexibly tagged and scheduled based on tags.
  • Current network deployment Supports optimized scheduling by Availability Zone (AZ).
  • AZ Availability Zone
  • the method of this invention can solve the scale problem of service discovery: layered governance – Provider changes are ultimately registered at the Mesh layer, passing through the scale layer; consumers are registered at the scale layer, supporting over 1 million nodes.
  • Layered governance can decouple consumers and providers in the same service, solving the problems of handling large-scale connections and notifications, as well as performance issues, in existing systems where the Mesh and scale roles are combined. After decoupling, the Mesh only needs to handle the synchronization of registration information for a relatively small number of providers, greatly reducing scale and ensuring performance.
  • Service network latency detection The client SDK is used to detect latency information of the service provider's network ICMP or TCP, and this information is used as a reference when making scheduling decisions to select the service instance with the lowest latency, thus implementing a latency priority strategy.
  • Shared memory implementation - Mesh uses shared memory, which maintains kernel-level persistence. Data is not lost when the process restarts but the OS does not. As long as the shared memory mapping point is remounted, the previously written data can be accessed, greatly accelerating the restart impact of process-level upgrades or failures. At the same time, multicast communication between Mesh peers and incremental synchronization with version confirmation can also greatly speed up the loading of newly added instances.
  • Scale horizontal scaling – scale instances are stateless, and provider information can be retrieved from the mesh and change notifications can be received; clients use consistent hashing and other selection strategies based on the scale-list to horizontally partition the number of consumers, with each scale instance handling only a portion of the consumers; when the scale cluster service reaches its processing capacity limit, processing capacity can be increased by adding more scale instances. Therefore, this solution can support over 1 million nodes, and in actual testing, it can be further scaled to support even higher numbers, and can also be deployed and partitioned across multiple clusters.
  • the service health check SDK implements service keepalive detection, promptly removes failed nodes, and automatically and seamlessly switches to other available instances after reasonable retries for failed calls, while also reporting to monitoring and issuing alerts.
  • Figure 2 illustrates a schematic diagram of a large-scale service scheduling system for a public cloud virtual network control plane.
  • the large-scale service scheduling system for the public cloud virtual network control plane provided in this embodiment includes:
  • the service module is used to set the Provider service provider and its tag attributes, and to register the service name on the scale service through the service provider;
  • the access module is used to access the service provider through the consumer, and to classify, register, and schedule the service according to tags.
  • the first registration module is used to provide scale registration provider information through the Mesh service based on shared memory
  • the second registration module is used to perform elastic scaling registration through the Scale service based on the shared memory.
  • the service module specifically includes:
  • the service registration unit is used to register the listening port, IP address, and corresponding exposed service name of the service with the scale service through the Provider service provider;
  • the scheduling processing unit is used to assign corresponding tag attributes to the Provider service provider and make scheduling decisions based on these attributes.
  • the access module also includes:
  • the port acquisition unit is used by the consumer to obtain the IP address and port of the corresponding Provider on the scale by means of the service name;
  • the instance selection unit is used to select the Provider service instance through the consumer based on the tag.
  • the first registration module specifically includes:
  • the cluster deployment unit is used to perform multi-instance cluster deployment based on the Provider service instance
  • the interface service unit stores the registration mapping information of the Provider service provider and the scale service, and provides a key/value-based query interface.
  • This embodiment also provides an electronic device, including a memory and a processor, wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method of Embodiment 1;
  • the processor can be implemented as an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a controller, a Microcontroller Unit (MCU), a microprocessor, or other electronic components to execute the methods described in the above embodiments.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • DSPD Digital Signal Processing Device
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • controller a Microcontroller Unit (MCU), a microprocessor, or other electronic components to execute the methods described in the above embodiments.
  • MCU Microcontroller Unit
  • This embodiment also provides a computer storage medium, in which a computer program is stored, and when the computer program is executed by one or more processors, it implements the method of embodiment one.
  • the computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
  • SRAM Static Random Access Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • EPROM Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • ROM Read-Only Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于云计算网络领域,尤其涉及一种公有云虚拟网络控制面的大规模服务调度方法及系统。本发明方法通过分层系统切割不同变化频度的服务的治理,比如根据现实场景中,服务提供端Provider相对数量较少,在Mesh服务层做订阅和推送服务。消费者端consumer相对数量庞大且相对变化频繁,在scale服务层做订阅和推送服务并且在客户端实现智能化切换;通过组播方式和自定义协议同步Mesh服务的信息;通过属性标注方法,做流量精细化调度,服务本地化访问,非特殊情况尽量避免跨可用区访问;通过配置中心控制,能够做到服务的自动降级或手工降级;内存化各级服务,去除etcd或db依赖;通过本发明方法能够策略配置支持通过服务时延探测选取低时延服务实例。

Description

一种公有云虚拟网络控制面的大规模服务调度方法及系统
本申请要求于2024年5月6日申请的,申请号为CN202410548141.0、名称为“一种公有云虚拟网络控制面的大规模服务调度方法及系统”的中国专利申请的优先权,在此将其全文引入作为参考。
技术领域
本发明属于云计算网络领域,尤其涉及一种公有云虚拟网络控制面的大规模服务调度方法及系统。
背景技术
在云计算中,大的region会在数据中心部署超大规模的计算节点,数量可达数万甚至10+万台物理机计算节点;每个计算节点上会部署几十或上百个虚机,或者更大数量的轻量化容器;每个计算节点会部署虚拟网络的分布式控制器服务或代理,由分布式控制器服务或代理来管理本机的虚机或容器的网络相关配置。
如何有效管理这些数量庞大控制器服务实例和控制面管理服务实例是一个很大的挑战。各个云厂商在管控面如何应对大规模挑战,各有不同的方法和手段,因为历史原因或技术债,很少解决的很完美的。在应用常规的服务发现手段来治理会带来规模上的性能挑战。业界常用的类似于etcd或者consul,zookeeper等方式单集群的管理的规模都不会高于1万个节点,在管理规模接近1万节点的时候,常规的服务发现方案会有各种性能瓶颈,比如连接数太大,保活管理,注册和注销频繁导致服务端无法承受频繁变动,出现各种异常超时和无法及时提供服务甚至服务崩溃;另外,服务端强一致系统本身也有数量和规模限制,无法支持高频操作,内存和IO都会有瓶颈,且无法水平扩展;现有系统缺少就近访问和时延优先调度方案;现有系统往往需要外部部署系统配合才能实现灰度发布,缺乏内在灰度能力。
发明内容
本发明针对现有技术的问题,提供一种公有云虚拟网络控制面的大规模服务调度方法及系统,所采用的技术方案为:
第一方面,一种公有云虚拟网络控制面的大规模服务调度方法,所述方法包括:
S1,设置Provider服务方及其标签属性,通过所述服务方在scale服务上进行服务名注册;
S2,根据所述Provider服务方,通过consumer消费者进行访问,并按照标签进行分类注册和调度;
S3,根据共享内存,通过Mesh服务提供scale注册Provider信息;
S4,根据所述共享内存,通过Scale服务进行弹性伸缩注册。
进一步的,S1具体包括:
S11,通过Provider服务方将服务的监听端口和IP地址以及对应的暴露的服务名注册到scale服务上;
S12,对所述Provider服务方打上对应的标签属性,并根据该属性做调度的判断。
进一步的,S2还包括:
S21,所述consumer消费者通过service name在scale上获取对应的Provider的IP和端口;
S22,根据所述标签,通过所述consumer消费者进行所述Provider服务方实例的优选。
进一步的,S3具体包括:
S31,根据所述Provider服务方实例,进行多实例集群化部署;
S32,存储Provider服务方和scale服务的注册映射信息,并提供基于Key/Value的查询接口。
第二方面,本发明实施例提供一种公有云虚拟网络控制面的大规模服务调度系统,用于实现第一方面所述的公有云虚拟网络控制面的大规模服务调度方法,所述系统包括:
服务模块,用于设置Provider服务方及其标签属性,通过所述服务方在scale服务上进行服务名注册;
访问模块,用于根据所述Provider服务方,通过consumer消费者进行访问,并按照标签进行分类注册和调度;
第一注册模块,用于根据共享内存,通过Mesh服务提供scale注册Provider信息;
第二注册模块,用于根据所述共享内存,通过Scale服务进行弹性伸缩注册。
进一步的,所述服务模块具体包括:
服务注册单元,用于通过Provider服务方将服务的监听端口和IP地址以及对应的暴露的服务名注册到scale服务上;
调度处理单元,用于对所述Provider服务方打上对应的标签属性,并根据该属性做调度的判断。
进一步的,所述访问模块还包括:
端口获取单元,用于所述consumer消费者通过service name在scale上获取对应的Provider的IP和端口;
实例优选单元,用于根据所述标签,通过所述consumer消费者进行所述Provider服务方实例的优选。
进一步的,所述第一注册模块具体包括:
集群部署单元,用于根据所述Provider服务方实例,进行多实例集群化部署;
接口服务单元,用于存储Provider服务方和scale服务的注册映射信息,并提供基于Key/Value的查询接口。
第三方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时,实现如上述第一方面所述的方法。
第四方面,本发明实施例提供一种计算机存储介质,所述计算机可读取存储介质中存储有计算机程序,所述计算机程序被处理器执行时,用实现如第一方面所述的方法。
本发明有益效果如下:本发明方法通过分层系统切割不同变化频度的服务的治理,比如根据现实场景中,服务提供端Provider相对数量较少,在Mesh服务层做订阅和推送服务。消费者端consumer相对数量庞大且相对变化频繁,在scale服务层做订阅和推送服务并且在客户端实现智能化切换;通过组播方式和自定义协议同步Mesh服务的信息;通过属性标注方法,做流量精细化调度,服务本地化访问,非特殊情况尽量避免跨可用区访问;通过配置中心控制,能够做到服务的自动降级或手工降级;内存化各级服务,去除etcd或db依赖;通过本发明方法能够策略配置支持通过服务时延探测选取低时延服务实例;同时,本方法采用标签调度从而实现灰度发布能力。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种公有云虚拟网络控制面的大规模服务调度方法的流程图;
图2为本发明实施例提供的一种公有云虚拟网络控制面的大规模服务调度系统的示意图;
图3为本发明实施例提供的一种公有云虚拟网络控制面的大规模服务调度方法的实施示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应该理解,这些描述只是示例性的,并非用于限定本发明的范围。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明公开的概念。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的方法和系统的例子。
实施例一:
图1示出了一种公有云虚拟网络控制面的大规模服务调度方法流程图,如图1所示,本实施例提供的公有云虚拟网络控制面的大规模服务调度方法,包括:
S1,设置Provider服务方及其标签属性,通过所述服务方在scale服务上进行服务名注册;
S2,根据所述Provider服务方,通过consumer消费者进行访问,并按照标签进行分类注册和调度;
S3,根据共享内存,通过Mesh服务提供scale注册Provider信息;
S4,根据所述共享内存,通过Scale服务进行弹性伸缩注册。
在使用本发明方法时,按照图3所示的实施示意图,首先,按照S1,Provider服务提供方,比如云计算IaaS层面的租户管理服务,管理区租户缓存服务,网元管理服务,集群组管理服务等等。S1具体包括:
S11,通过Provider服务方将服务的监听端口和IP地址以及对应的暴露的服务名注册到scale服务上;
S12,对所述Provider服务方打上对应的标签属性,并根据该属性做调度的判断。
Provider会把服务的监听端口和IP地址以及对应的暴露的服务名(即service name)注册到scale服务上;
注册的时候,支持对Provider打上特定的标签属性,并根据该属性做调度的判断,常用的按AZ打标签并优先AZ就近访问;
下一步,按照S2,Consumer-消费者,访问Provider的客户端服务或者程序,比如云计算IaaS层面的计算节点控制器,网元控制器,跨域代理,API服务;支持可按标签分类注册和调度;支持本地cache;S2还包括:
S21,所述consumer消费者通过service name在scale上获取对应的Provider的IP和端口;
S22,根据所述标签,通过所述consumer消费者进行所述Provider服务方实例的优选。
下一步,按照S3,Mesh服务-基于共享内存实现的综合注册服务,多实例高可用,所有实例持有同构信息,集群化部署,提供一致性注册服务,查询服务,通知服务,在本系统里提供给scale注册Provider信息,仅对scale开放注册;具体包括:
S31,提供多实例集群化部署,每个AZ建议部署大于等于1个实例,现网部署c3AZ:每个AZ一个实例即可满足可用性要求;
S32,存储Provider和scale的注册映射信息,并提供基于Key/Value的查询接口;
S33,支持watch-notify机制,有新注册或新注销会通知到感兴趣的列表成员;
S34,提供基于共享内存的内核持久化实现,避免进程级别重启带来的数据丢失或重新获取;
S35,提供镜像化的同构存储,各实例间信息视图强一致,底层采用paxos分布式强一致协议提供存储信息的强一致性;
S36,各实例之间提供保活心跳服务和基于版本的同步服务,方便新加实例或重启后加入集群,只有完全同步后才对外提供服务;
S37,提供标签服务,对各实例可以灵活打上标签,按标签灵活调度;
S38,测试支持1万+Provider/9+Scale/10+tag/单实例1000+QPS。
下一步,按照S4,Scale服务-基于内存实现的弹性伸缩注册服务,多实例高可用,每个实例持有相同的Provider信息和一个划分的consumer信息,所有scale实例的consumer信息组成全体consumer信息,一般情况下,scale持有consumer信息不重叠,scale对Provider和consumer开放注册,具体包括:
S41,提供多实例集群化部署,每个AZ建议部署大于等于3个实例。现网部署实例3AZ:每个AZ 3个实例即可满足可用性和性能要求;
S42,存储consumer和Provider的注册映射信息,并提供基于Key/Value的查询接口;
S43,支持watch-notify机制,有新注册或新注销会通知到感兴趣的列表成员;
S44,提供纯内存in-memory实现,高性能极致访问;
S45,从Mesh服务拉取Provider列表,并监听Provider变化通知;
S46,每个scale实例只管理注册到本实例的consumer和对应的Provider的映射关系;
S47,scale的客户端sdk提供可配置的一致性hash算法供选举scale实例使用;
S48,提供标签服务,对各实例可以灵活打上标签,按标签灵活调度。现网部署:支持按AZ优选调度;
S49,测试支持100+Provider/50+Scale/100万+Consumer/10+tag/单实例10000+QPS。
通过本发明方法,能够解决服务发现的规模问题:分层治理-Provider变化最终注册在Mesh层,途经scale;consumer注册在scale层,可支撑100+万节点。分层治理可以解耦consumer和Provider在同一服务中的耦合,解决现有系统中Mesh和scale合一的角色里面需要处理consumer规模的连接和通知以及性能的问题;解耦后,Mesh仅需要处理数量相对少很多的Provider的注册信息同步等问题,规模极大缩减,性能无忧;
解决单实例调度性能瓶颈问题:纯内存实现-Mesh和scale都是内存化实现,采用服务管控内存实现对象池和对象的复用,减少对象临时申请系统内存产生的系统调用开销和内存碎片化问题;实现长连接池管理,放弃短链接方案,减少连接对象频繁生产和销毁的开销;极速版本采用C++实现,标准版本采用Go实现;客户端sdk采用本地cache和notify机制,减少对无变化的场景下对scale或Mesh的访问,又兼顾变化能及时更新。
解决访问时延问题:服务网络时延探测-采用客户端sdk针对服务方的网络icmp或tcp探测收集时延信息,在调度决策时做参考,优选时延最低的服务实例,实现时延优先策略。
解决服务重启再加载慢的问题:共享内存实现-Mesh采用共享内存实现,可以保持kernel级别的持久化水平,进程重启os不重启的情况下,数据不会丢失,只要重新挂载共享内存映射点就可以访问到之前写入的数据,极大的加速了进程级别的升级或故障带来的重启影响;同时,Mesh peer之间的组播通信和带版本确认的增量同步也能大大加快新加实例的加载速度。
解决性能水平扩展的问题:scale水平扩展-scale实例无状态,Provider信息可以从Mesh中拉取和接收变化通知;客户端针对scale-list做一致性hash等选择策略,可以水平分割consumer数量,每个scale实例仅处理一部分consumer即可;当scale集群服务达到处理能力上限的时候,可以通过增加scale实例数量来增加处理能力。从而本方案可以支持超100万的节点,实际测试中可以更扩展支持更高,也可以多集群部署分割。
解决服务降级或fallback问题:服务健康检查-sdk实现服务keepalive探测,及时移除失效节点,同时,对于调用失败的实例,在合理的重试之后,做到自动无感切换到其他可用实例,并上报监控同时告警。
解决访问绕路问题:AZ就近访问-根据AZ配置,匹配同AZ的服务方和消费者,让消费者优先访问本AZ的服务方。
解决灰度发布问题-用户和服务打标-通过用户和服务打标,让特定打标用户的流量仅能进入对应的打标服务实例,从而实现灰度发布能力。
实施例二:
图2示出了一种公有云虚拟网络控制面的大规模服务调度系统示意图,为实现实施例一所述的方法,如图2所示,本实施例提供的公有云虚拟网络控制面的大规模服务调度系统,包括:
服务模块,用于设置Provider服务方及其标签属性,通过所述服务方在scale服务上进行服务名注册;
访问模块,用于根据所述Provider服务方,通过consumer消费者进行访问,并按照标签进行分类注册和调度;
第一注册模块,用于根据共享内存,通过Mesh服务提供scale注册Provider信息;
第二注册模块,用于根据所述共享内存,通过Scale服务进行弹性伸缩注册。
进一步的,所述服务模块具体包括:
服务注册单元,用于通过Provider服务方将服务的监听端口和IP地址以及对应的暴露的服务名注册到scale服务上;
调度处理单元,用于对所述Provider服务方打上对应的标签属性,并根据该属性做调度的判断。
进一步的,所述访问模块还包括:
端口获取单元,用于所述consumer消费者通过service name在scale上获取对应的Provider的IP和端口;
实例优选单元,用于根据所述标签,通过所述consumer消费者进行所述Provider服务方实例的优选。
进一步的,所述第一注册模块具体包括:
集群部署单元,用于根据所述Provider服务方实例,进行多实例集群化部署;
接口服务单元,用于存储Provider服务方和scale服务的注册映射信息,并提供基于Key/Value的查询接口。
实施例三:
本实施例还提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现实施例一的方法;
在实际应用中,处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器(Microcontroller Unit,MCU)、微处理器或其他电子元件实现,用于执行上述实施例中的方法。
本实施例所实现的方法,如实施例一所记载。
实施例四:
本实施例还提供一种计算机存储介质,所述计算机可读取存储介质中存储有计算机程序,计算机程序被一个或多个处理器执行时,实现实施例一的方法;
其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本实施例所实现的方法,如实施例一所记载。
最后应说明的是,以上实施例仅用以说明本发明实施例的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

  1. 一种公有云虚拟网络控制面的大规模服务调度方法,其中,包括:
    S1,设置Provider服务方及其标签属性,通过所述服务方在scale服务上进行服务名注册;
    S2,根据所述Provider服务方,通过consumer消费者进行访问,并按照标签进行分类注册和调度;
    S3,根据共享内存,通过Mesh服务提供scale注册Provider信息;
    S4,根据所述共享内存,通过Scale服务进行弹性伸缩注册。
  2. 根据权利要求1所述的一种公有云虚拟网络控制面的大规模服务调度方法,其中,S1包括:
    S11,通过Provider服务方将服务的监听端口和IP地址以及对应的暴露的服务名注册到scale服务上;
    S12,对所述Provider服务方打上对应的标签属性,并根据该属性做调度的判断。
  3. 根据权利要求2所述的一种公有云虚拟网络控制面的大规模服务调度方法,其中,S2还包括:
    S21,所述consumer消费者通过service name在scale上获取对应的Provider的IP和端口;
    S22,根据所述标签,通过所述consumer消费者进行所述Provider服务方实例的优选。
  4. 根据权利要求3所述的一种公有云虚拟网络控制面的大规模服务调度方法,其中,S3包括:
    S31,根据所述Provider服务方实例,进行多实例集群化部署;
    S32,存储Provider服务方和scale服务的注册映射信息,并提供基于Key/Value的查询接口。
  5. 一种公有云虚拟网络控制面的大规模服务调度系统,其中,用于实现权利要求1至4任一项所述的公有云虚拟网络控制面的大规模服务调度方法,所述系统包括:
    服务模块,用于设置Provider服务方及其标签属性,通过所述服务方在scale服务上进行服务名注册;
    访问模块,用于根据所述Provider服务方,通过consumer消费者进行访问,并按照标签进行分类注册和调度;
    第一注册模块,用于根据共享内存,通过Mesh服务提供scale注册Provider信息;
    第二注册模块,用于根据所述共享内存,通过Scale服务进行弹性伸缩注册。
  6. 根据权利要求5所述的一种公有云虚拟网络控制面的大规模服务调度系统,其中,所述服务模块包括:
    服务注册单元,用于通过Provider服务方将服务的监听端口和IP地址以及对应的暴露的服务名注册到scale服务上;
    调度处理单元,用于对所述Provider服务方打上对应的标签属性,并根据该属性做调度的判断。
  7. 根据权利要求6所述的一种公有云虚拟网络控制面的大规模服务调度系统,其中,所述访问模块还包括:
    端口获取单元,用于所述consumer消费者通过service name在scale上获取对应的Provider的IP和端口;
    实例优选单元,用于根据所述标签,通过所述consumer消费者进行所述Provider服务方实例的优选。
  8. 根据权利要求7所述的一种公有云虚拟网络控制面的大规模服务调度系统,其中,所述第一注册模块包括:
    集群部署单元,用于根据所述Provider服务方实例,进行多实例集群化部署;
    接口服务单元,用于存储Provider服务方和scale服务的注册映射信息,并提供基于Key/Value的查询接口。
  9. 一种电子设备,其中,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1-4中任意一项所述的公有云虚拟网络控制面的大规模服务调度方法。
  10. 一种计算机可读存储介质,其中,所述计算机可读取存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1-4中任意一项所述的公有云虚拟网络控制面的大规模服务调度方法。
PCT/CN2024/138518 2024-05-06 2025-03-14 一种公有云虚拟网络控制面的大规模服务调度方法及系统 Pending WO2025232192A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202410548141.0A CN118474192B (zh) 2024-05-06 2024-05-06 一种公有云虚拟网络控制面的大规模服务调度方法及系统
CN202410548141.0 2024-05-06

Publications (2)

Publication Number Publication Date
WO2025232192A1 true WO2025232192A1 (zh) 2025-11-13
WO2025232192A9 WO2025232192A9 (zh) 2026-01-08

Family

ID=92148737

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/138518 Pending WO2025232192A1 (zh) 2024-05-06 2025-03-14 一种公有云虚拟网络控制面的大规模服务调度方法及系统

Country Status (2)

Country Link
CN (1) CN118474192B (zh)
WO (1) WO2025232192A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118474192B (zh) * 2024-05-06 2025-09-05 天翼云科技有限公司 一种公有云虚拟网络控制面的大规模服务调度方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957237A (zh) * 2014-04-03 2014-07-30 华南理工大学 一种弹性云的体系结构
CN105634780A (zh) * 2014-11-04 2016-06-01 中兴通讯股份有限公司 一种实现vnf弹性伸缩的方法及装置
WO2023246168A1 (zh) * 2022-06-23 2023-12-28 华为云计算技术有限公司 一种微服务迁移方法、装置及计算设备
CN117389606A (zh) * 2023-10-08 2024-01-12 深圳市雁联计算系统有限公司 一种微服务架构多版本共存的方法、系统、设备及介质
WO2024032239A1 (zh) * 2022-08-12 2024-02-15 华为云计算技术有限公司 应用调度方法、云服务平台以及相关设备
CN118474192A (zh) * 2024-05-06 2024-08-09 天翼云科技有限公司 一种公有云虚拟网络控制面的大规模服务调度方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778527B2 (en) * 2018-10-31 2020-09-15 Oracle International Corporation Methods, systems, and computer readable media for providing a service proxy function in a telecommunications network core using a service-based architecture
US12468929B2 (en) * 2019-08-12 2025-11-11 University Of Southern California Self-optimizing and self-programming computing systems: a combined compiler, complex networks, and machine learning approach
CN112468310B (zh) * 2019-09-06 2023-04-07 杭州海康威视系统技术有限公司 流媒体集群节点管理方法、装置及存储介质
CN112788085B (zh) * 2019-11-11 2022-08-09 华为技术有限公司 一种数据缓存方法和装置
CN113596110B (zh) * 2021-07-08 2023-12-15 交通银行股份有限公司太平洋信用卡中心 一种面向异构云的云原生微服务平台
CN113630346B (zh) * 2021-09-14 2023-08-04 北京百度网讯科技有限公司 分布式网络系统
CN115129521B (zh) * 2022-07-08 2025-07-08 中国工商银行股份有限公司 Redis集群间数据同步方法、装置和系统
CN116886736A (zh) * 2023-08-29 2023-10-13 中国建设银行股份有限公司 基于云化架构的中间件云化处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957237A (zh) * 2014-04-03 2014-07-30 华南理工大学 一种弹性云的体系结构
CN105634780A (zh) * 2014-11-04 2016-06-01 中兴通讯股份有限公司 一种实现vnf弹性伸缩的方法及装置
WO2023246168A1 (zh) * 2022-06-23 2023-12-28 华为云计算技术有限公司 一种微服务迁移方法、装置及计算设备
WO2024032239A1 (zh) * 2022-08-12 2024-02-15 华为云计算技术有限公司 应用调度方法、云服务平台以及相关设备
CN117389606A (zh) * 2023-10-08 2024-01-12 深圳市雁联计算系统有限公司 一种微服务架构多版本共存的方法、系统、设备及介质
CN118474192A (zh) * 2024-05-06 2024-08-09 天翼云科技有限公司 一种公有云虚拟网络控制面的大规模服务调度方法及系统

Also Published As

Publication number Publication date
CN118474192B (zh) 2025-09-05
CN118474192A (zh) 2024-08-09
WO2025232192A9 (zh) 2026-01-08

Similar Documents

Publication Publication Date Title
CN111615066B (zh) 一种基于广播的分布式微服务注册及调用方法
US10713071B2 (en) Method and apparatus for network function virtualization
US8108623B2 (en) Poll based cache event notifications in a distributed cache
US11445013B2 (en) Method for changing member in distributed system and distributed system
CN107547661B (zh) 一种容器负载均衡实现方法
EP3886399A1 (en) Method for invoking server and proxy server
US11082505B2 (en) Dynamic discovery of available storage servers
CN103207841B (zh) 基于键值对缓存的数据读写方法及装置
CN103973725B (zh) 一种分布式协同方法和协同器
US20220131935A1 (en) Service Unit Switching Method, System, and Device
CN105933444A (zh) 基于注册中心和缓存机制协同的服务发现方法
WO2023082800A1 (zh) 主节点选择方法、分布式数据库及存储介质
US20140082295A1 (en) Detection of out-of-band access to a cached file system
WO2025232192A9 (zh) 一种公有云虚拟网络控制面的大规模服务调度方法及系统
EP3648405A1 (en) System and method to create a highly available quorum for clustered solutions
WO2023197874A1 (zh) 一种应用访问方法、装置、设备及介质
CN108874531A (zh) 用于熔断服务的方法、装置、系统及电子设备
US20150324222A1 (en) System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
WO2024066503A1 (zh) 服务调用方法及装置
CN116319963A (zh) 服务的管理方法、系统、终端设备及存储介质
WO2023155591A1 (zh) 进度信息管控方法、微服务装置、电子设备及存储介质
WO2020056550A1 (zh) 软件定义网络中的服务分配的设备、方法和存储介质
US12147690B2 (en) Sharing node storage resources with the entire cluster
CN112199176A (zh) 一种业务处理方法、装置及相关设备
CN117336353A (zh) 一种服务发现方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24940531

Country of ref document: EP

Kind code of ref document: A1