Proxy service system, method, apparatus, device, storage medium, and program product
By introducing a distributed control plane and data plane structure into the agent service system, the main control plane and the data plane in the same region are configured with description information synchronously. Information consistency transmission across regions is achieved through the control plane, which solves the problem of low reliability of cross-regional communication and improves the overall reliability and stability of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ALIBABA CLOUD COMPUTING CO LTD
- Filing Date
- 2024-12-26
- Publication Date
- 2026-06-26
AI Technical Summary
In a proxy service system, when the control plane and data plane are located in different regions, the bandwidth and reliability of cross-regional communication are limited, leading to configuration data synchronization failures or delays, affecting the normal operation of the grid agent and reducing the overall reliability of the system.
A distributed proxy service system is adopted, with a control plane including a master control plane and a slave control plane, and a data plane including a first data plane and a second data plane. The master control plane and the first data plane are located in the same region, and the second data plane and the slave control plane are located in the same region. The master control plane synchronously configures description information for the first data plane and the slave control plane, and the slave control plane synchronously configures description information for the second data plane, thereby achieving consistent and highly reliable transmission of configuration description information.
It improves the overall reliability of the agent service system, ensures efficient synchronization of configuration description information between grid agents, avoids delays and failures in cross-regional communication, and enhances the stability and reliability of the system.
Smart Images

Figure CN122293731A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing, and more particularly to a proxy service system, method, apparatus, device, storage medium, and program product. Background Technology
[0002] A proxy service system (e.g., a service mesh) is an infrastructure layer for handling service-to-service communication. It sits between services within an application, managing and optimizing communication between services.
[0003] A proxy service system typically consists of a control plane and a data plane. The control plane manages the configuration and policies of the proxy service system, while the data plane processes business requests.
[0004] In related technologies, the control plane components in the control plane and the grid agent in the data plane can communicate with each other. The control plane components can send configuration data to the grid agent to enable the grid agent to correctly proxy service traffic, thereby achieving service interoperability and service governance.
[0005] However, when the control plane and data plane are located in different regions, cross-regional communication between the control plane components and the grid agent usually relies on the public network or a specific Virtual Private Network (VPN) leased line network. The bandwidth and reliability of the network are limited, which can easily lead to the failure or delay of the control plane components sending configuration data to the grid agent, causing the grid agent to malfunction and resulting in low overall reliability of the agent service system. Summary of the Invention
[0006] This application provides a proxy service system, method, apparatus, device, storage medium, and program product to address the problem of low overall reliability in proxy service systems.
[0007] In a first aspect, embodiments of this application provide a proxy service system, wherein the control plane of the proxy service system includes a master control plane and a slave control plane, and the data plane of the proxy service system includes a first data plane and a second data plane; the master control plane and the slave control plane are located in different regions, the first data plane is located in the same region as the master control plane, and the second data plane is located in the same region as the slave control plane;
[0008] The main control plane is used to acquire configuration description information, synchronize the configuration description information to the grid agent in the first data plane, and synchronize the configuration description information to the slave control plane;
[0009] The control plane is used to synchronize the configuration description information to the grid agent in the second data plane;
[0010] Both the grid proxies in the first data plane and the second data plane are used to proxy the traffic of application service instances based on the configuration description information.
[0011] In one possible implementation, the main control plane includes a main controller and a configuration aggregator; the main controller is communicatively connected to a grid agent in the first data plane.
[0012] The main controller is used to synchronize the configuration description information to the connected mesh agent;
[0013] The configuration aggregator is used to generate a configuration description view corresponding to the configuration description information and send the configuration description view to the control plane.
[0014] In one possible implementation, the control plane includes a slave controller that is communicatively connected to a mesh agent in the second data plane;
[0015] The slave controller is used to obtain the configuration description information based on the configuration description view and synchronize the configuration description information to the grid agent in the second data plane;
[0016] In one possible implementation, the configuration aggregator is further configured to:
[0017] Send the primary control plane region information to the secondary control plane so that the secondary control plane can generate control plane region information based on the primary control plane region information and the secondary control plane region information.
[0018] In one possible implementation, the second data plane further includes a switch;
[0019] The controller is also used to acquire the control plane area information and send the control plane area information to the switch;
[0020] The switcher is used to switch the controller connected to the grid agent in the second data plane from the slave controller to the master controller in the main control plane based on the control plane geographic information when the slave control plane is unavailable.
[0021] The main controller is also used to synchronize the configuration description information to the grid agent in the second data plane through the switch when connected to the switch in the second data plane.
[0022] In one possible implementation, the configuration description information is provided through a cloud-native declarative interface.
[0023] In one possible implementation, the main control plane and the first data plane run on different servers or different sub-server clusters within the same server cluster;
[0024] The control plane and the second data plane operate on different servers or different sub-server clusters within the same server cluster;
[0025] The main control plane and the slave control plane run on different server clusters.
[0026] Secondly, embodiments of this application provide a proxy service system, including a main control plane and a first data plane, wherein the main control plane and the first data plane are located in the same region;
[0027] The main control plane is used to obtain configuration description information, synchronize the configuration description information to the grid agent in the first data plane, and synchronize the configuration description information to the slave control plane, so that the slave control plane synchronizes the configuration description information to the grid agent in the second data plane. The slave control plane and the main control plane are located in different regions, and the slave control plane and the second data plane are located in the same region.
[0028] The grid proxy in the first data plane is used to proxy the traffic of application service instances based on the configuration description information.
[0029] Thirdly, embodiments of this application provide a proxy service system, including a control plane and a second data plane, wherein the control plane and the second data plane are located in the same region;
[0030] The slave control plane is used to receive configuration description information from the master control plane and synchronize configuration description information to the grid agent in the second data plane. The slave control plane and the master control plane are located in different regions.
[0031] The grid proxy in the second data plane is used to proxy the traffic of application service instances based on the configuration description information.
[0032] Fourthly, embodiments of this application provide a configuration synchronization method for a proxy service system, applied to the main control plane of the proxy service system provided in the second aspect; the method includes:
[0033] Get configuration description information;
[0034] The configuration description information is synchronized to the grid agent in the first data plane and to the slave control plane, so that the slave control plane synchronizes the configuration description information to the grid agent in the second data plane; the first data plane and the master control plane are located in the same region, the slave control plane and the master control plane are located in different regions, and the slave control plane and the second data plane are located in the same region.
[0035] Fifthly, embodiments of this application provide a configuration synchronization method for a proxy service system, applied to the slave control plane of the proxy service system provided in the third aspect; the method includes:
[0036] The slave control plane receives configuration description information from the master control plane, wherein the slave control plane and the master control plane are located in different regions.
[0037] The configuration description information is synchronized to the grid agent in the second data plane, which is located in the same region as the slave control plane.
[0038] Sixthly, embodiments of this application provide a configuration synchronization device for a proxy service system, applied to the main control plane of the proxy service system provided in the second aspect; the device includes: an acquisition module and a first synchronization module, wherein,
[0039] The acquisition module is used to acquire configuration description information;
[0040] The first synchronization module is used to synchronize the configuration description information to the grid agent in the first data plane and to synchronize the configuration description information to the slave control plane; the first data plane and the master control plane are located in the same region, and the slave control plane and the master control plane are located in different regions.
[0041] In a seventh aspect, embodiments of this application provide a configuration synchronization device for a proxy service system, applied to the slave control plane of the proxy service system provided in the third aspect; the device includes: a receiving module and a second synchronization module, wherein,
[0042] The receiving module is used to obtain configuration description information, which is received by the slave control plane from the master control plane; the slave control plane and the master control plane are located in different regions.
[0043] The second synchronization module is used to synchronize the configuration description information to the grid agent in the second data plane; the second data plane and the slave control plane are located in the same region.
[0044] Eighthly, embodiments of this application provide an electronic device, including: a memory and a processor;
[0045] The memory stores computer-executed instructions;
[0046] The processor executes computer execution instructions stored in the memory, causing the processor to perform the method described in the fourth or fifth aspect.
[0047] Ninthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the methods described in the fourth or fifth aspects.
[0048] In a tenth aspect, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the methods shown in the fourth or fifth aspect.
[0049] This application provides a proxy service system, method, apparatus, device, storage medium, and program product. The control plane of the proxy service system may include a master control plane and a slave control plane, and the data plane of the proxy service system may include a first data plane and a second data plane. The master control plane and the slave control plane are located in different regions, the first data plane is located in the same region as the master control plane, and the second data plane is located in the same region as the slave control plane. The master control plane can be used to obtain configuration description information and synchronize the configuration description information to the grid proxy in the first data plane and to the slave control plane; the slave control plane can be used to synchronize the configuration description information to the grid proxy in the second data plane; both the grid proxies in the first and second data planes can be used to proxy the traffic of application service instances based on the configuration description information. On the one hand, since the master control plane and the slave control plane can constitute a distributed agent service system control plane, the master control plane can synchronize configuration description information to the slave control plane, ensuring the consistency of configuration description information in each control plane. On the other hand, the master control plane can synchronize configuration description information to the grid agent in the first data plane in the same region, and the slave control plane can synchronize configuration description information to the grid agent in the second data plane in the same region. There is no need for the control plane to communicate across regions to synchronize configuration description information to the grid agent, which improves the reliability of synchronizing configuration description information to the grid agent. Therefore, the overall reliability of the agent service system is comprehensively improved. Attached Figure Description
[0050] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0051] Figure 1 This is a schematic diagram of an agent service system in related technologies;
[0052] Figure 2 A schematic diagram of a service network provided for an exemplary embodiment of this application. Figure 1 ;
[0053] Figure 3 A schematic diagram of an agent service system provided for an exemplary embodiment of this application. Figure 2 ;
[0054] Figure 4 A schematic diagram of an agent service system provided for an exemplary embodiment of this application. Figure 3 ;
[0055] Figure 5 A flowchart illustrating a configuration synchronization method for a proxy service system provided as an exemplary embodiment of this application;
[0056] Figure 6 A schematic diagram of an agent service system provided for an exemplary embodiment of this application. Figure 4 ;
[0057] Figure 7 A flowchart illustrating another configuration synchronization method for a proxy service system provided as an exemplary embodiment of this application;
[0058] Figure 8 A schematic diagram of the configuration synchronization device for an agent service system provided as an exemplary embodiment of this application;
[0059] Figure 9 A schematic diagram of the configuration synchronization device for another proxy service system provided as an exemplary embodiment of this application;
[0060] Figure 10 This is a schematic diagram of the structure of an electronic device provided as an exemplary embodiment of this application. Detailed Implementation
[0061] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0062] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0063] Below, in order to facilitate understanding of the technical solution of this application, the concepts involved in this application will be explained first.
[0064] 1. Proxy Service System: A framework used to manage communication between services. A proxy service system typically consists of a control plane and a data plane. For example, a proxy service system can be a service mesh.
[0065] 2. Control Plane: This is a set of services that run in a dedicated namespace. These services perform control and management functions, including aggregating telemetry data, providing user-facing interfaces, and providing configuration data to the grid agents in the data plane.
[0066] 3. Data Plane: It consists of a series of transparent mesh proxies running alongside each service instance.
[0067] 4. Proxy Service System Proxy Configuration: This is to ensure the proxy service system correctly proxies service traffic, enabling service interoperability and governance. Configuration data can be distributed from the control plane to the corresponding grid proxy in the data plane. The control plane pushes configuration data through its network connection with the grid proxy, dynamically changing the grid proxy's behavior by sending different configuration data.
[0068] Below, in conjunction with Figure 1 This section introduces the proxy service system in related technologies.
[0069] Figure 1 This is a schematic diagram of a proxy service system in related technologies. Please refer to [link / reference]. Figure 1 The proxy service system 100 can be used for communication between multiple microservices. Microservices refer to breaking down an application into multiple smaller services or instances, which are then distributed across different clusters / machines to run.
[0070] like Figure 1 As shown, a microservice may include application service instance A and application service instance B, which together constitute the functional application layer of the proxy service system 100.
[0071] Application service instance A can have a corresponding grid agent 103, and application service instance A and grid agent 103 can communicate with each other. In machine / workload container group 108, application service instance A can run through container / process 107, and grid agent 103 can run through container / process 104.
[0072] Application service instance B can have a corresponding grid agent 105, and application service instance B and grid agent 105 can communicate with each other. In machine / workload container group 110, application service instance B can run through container / process 109, and grid agent 105 can run through container / process 106.
[0073] Grid agent 103 and grid agent 105 can constitute the data plane of the agent service system 100. Grid agent 103 and grid agent 105 can communicate bidirectionally.
[0074] Grid proxy 103 can route traffic from application service instance A (e.g., request 111), and grid proxy 105 can route traffic from application service instance B. It should be noted that the traffic includes, but is not limited to, Hypertext Transfer Protocol (HTTP), Representational State Transfer (REST), Remote Procedure Call (RPC), and Remote Dictionary Server (Redis).
[0075] The control plane can consist of a set of services running in a dedicated namespace, which are hosted by the control plane component 101 on the machine / workload container group 102. The control plane component 101 can communicate bidirectionally with the mesh agent 103 and the mesh agent 105, respectively. The control plane component 101 can be used to implement control and management functions.
[0076] For example, control plane component 101 can receive telemetry data transmitted by grid agent 103 and grid agent 105, and can further aggregate this telemetry data. Control plane component 101 can also provide a user-facing application programming interface to facilitate easier manipulation of network behavior.
[0077] The control plane component 101 can perform proxy service system proxy configuration on grid agent 103 and grid agent 105, that is, send configuration data to grid agent 103 and grid agent 105.
[0078] The configuration data may include descriptive information about any functions that the mesh agent may perform, including but not limited to service discovery, health checks, routing, load balancing, authentication and authorization, and observability.
[0079] Proxy configuration for a proxy service system can enable the system to correctly proxy service traffic, achieving service interoperability and service governance. Grid Proxy 103 and Grid Proxy 105 can be configured, based on configuration data, to perform at least one of the following functions: service discovery, health checking, routing, load balancing, authentication and authorization, and observability.
[0080] The proxy service system can support unified management of cloud-native application services deployed in multiple regions, providing services such as region-first and disaster recovery strategies for bidirectional communication between services. Figure 1 The proxy service system shown relies on bidirectional communication and configuration distribution between the control plane component and the grid agent to control the grid agent in the data plane. However, when the control plane and data plane are located in different regions, cross-regional communication between the control plane component and the grid agent typically depends on the public internet. The bandwidth and reliability of the public internet are limited, which can easily lead to failures or delays in the control plane component's distribution of configuration data to the grid agent, causing the grid agent to malfunction and resulting in low overall reliability of the proxy service system. Using leased lines or other methods to improve the reliability of cross-regional communication faces significant bandwidth cost issues.
[0081] To address the aforementioned issues, this application provides a proxy service system. The control plane of the proxy service system may include a primary control plane and a secondary control plane, and the data plane may include a first data plane and a second data plane. The primary and secondary control planes are located in different regions, while the first data plane and the primary control plane are located in the same region, and the second data plane and the secondary control plane are located in the same region. The primary control plane can be used to obtain configuration description information (i.e., the configuration data described in related technologies) and synchronize the configuration description information to the grid proxy in the first data plane and to the secondary control plane. The secondary control plane can be used to synchronize the configuration description information to the grid proxy in the second data plane. Both the grid proxies in the first and second data planes can be used to proxy the traffic of application service instances based on the configuration description information. On the one hand, since the master control plane and the slave control plane can constitute a distributed agent service system control plane, the master control plane can synchronize configuration description information to the slave control plane, ensuring the consistency of configuration description information in each control plane. On the other hand, the master control plane can synchronize configuration description information to the grid agent in the first data plane in the same region, and the slave control plane can synchronize configuration description information to the grid agent in the second data plane in the same region. There is no need for the control plane to communicate across regions to synchronize configuration description information to the grid agent, which improves the reliability of synchronizing configuration description information to the grid agent. Therefore, the overall reliability of the agent service system is comprehensively improved.
[0082] The technical solutions shown in this application will now be described in detail through specific embodiments. It should be noted that the following embodiments may exist independently or in combination with each other; for identical or similar content, the description will not be repeated in different embodiments.
[0083] Figure 2 A schematic diagram of a service network provided for an exemplary embodiment of this application. Figure 1 Please see. Figure 2 Taking the proxy service system 200 as an example of a service mesh, the proxy service system 200 may include a control plane and a data plane. The control plane may include a master control plane 201 and a slave control plane 202, and the data plane may include a first data plane 203 and a second data plane 204.
[0084] The master control plane 201 and the slave control plane 202 can be located in different regions. The first data plane 203 and the master control plane 201 can be located in the same region, and the second data plane 204 and the slave control plane 202 can be located in the same region. For example... Figure 2 In this configuration, the main control plane 201 and the first data plane 203 can be located in region R1, while the slave control plane 202 and the second data plane 204 can be located in region R2.
[0085] The main control plane 201 and the first data plane 203 can run on different servers or different sub-server clusters within the same server cluster; the slave control plane 202 and the second data plane 204 can run on different servers or different sub-server clusters within the same server cluster. The main control plane 201 and the slave control plane 202 can run on different server clusters.
[0086] For example, the main control plane 201 can run in sub-service cluster 1-1 in server cluster 1, the first data plane 203 can run in sub-server cluster 1-2 in server cluster 1, the secondary control plane 202 can run in sub-service cluster 2-1 in server cluster 2, and the second data plane 204 can run in sub-server cluster 2-2 in server cluster 2.
[0087] The main control plane 201 can provide cloud-native declarative interfaces to the outside world. Users can upload configuration description information through the cloud-native declarative interfaces so that the main control plane 201 can obtain the configuration description information.
[0088] After obtaining the configuration description information, the main control plane 201 synchronizes the configuration description information to the grid agent 205 in the first data plane 203.
[0089] Configuration description information may include descriptive information about any functions that the mesh agent may perform, including but not limited to service discovery, health checks, routing, load balancing, authentication and authorization, and observability.
[0090] For example, the configuration description information may include: all HTTP traffic destined for microservice 1 will be routed and forwarded to port 8080 of the backend service of microservice 1.
[0091] The primary control plane 201 can synchronize configuration description information to the secondary control plane 202. After receiving the configuration description information, the secondary control plane 202 can synchronize the configuration description information to the mesh agent 207 in the second data plane 204.
[0092] Grid proxy 205 in the first data plane 203 can proxy the traffic of application service instance 206 based on configuration description information. Grid proxy 207 in the second data plane 204 can proxy the traffic of application service instance 208 based on configuration description information. Grid proxy 205 and grid proxy 207 can communicate with each other.
[0093] Application service instances 206 and 208 can constitute the functional application layer of the proxy service system 200. Optionally, application service instances 206 and 208 can be microservices. For any application service instance, there can be a corresponding mesh proxy. The application service instance and the mesh proxy can run in different containers within the same container group (Pod). For example, the mesh proxy corresponding to application service instance 206 is mesh proxy 205, and application service instance 206 can run in container C1-1 of Pod1, while mesh proxy 205 can run in container C1-2 of Pod1; the mesh proxy corresponding to application service instance 208 is mesh proxy 207, and application service instance 208 can run in container C2-1 of Pod2, while mesh proxy 205 can run in container C2-2 of Pod2.
[0094] Traffic refers to multiple requests generated or received by an application service instance. It should be noted that traffic includes, but is not limited to, HTTP, REST, gRPC, Redis, and other similar formats.
[0095] Optionally, the grid proxy 205 can perform routing, load balancing, and other functions on the traffic of the application service instance 206 based on the configuration description information; the grid proxy 207 can perform routing, load balancing, and other functions on the traffic of the application service instance 208 based on the configuration description information.
[0096] Optionally, in Figure 2 The agent service system shown can be configured with one master and multiple slaves. That is, the agent service system can include a master control plane and a first data plane, as well as multiple slave control planes and a second data plane corresponding to each slave control plane.
[0097] In this embodiment, the control plane of the proxy service system may include a master control plane and a slave control plane, and the data plane may include a first data plane and a second data plane. The master control plane and the slave control plane are located in different regions, the first data plane is located in the same region as the master control plane, and the second data plane is located in the same region as the slave control plane. The master control plane can be used to obtain configuration description information and synchronize the configuration description information to the grid proxy in the first data plane and to the slave control plane; the slave control plane can be used to synchronize the configuration description information to the grid proxy in the second data plane; both the grid proxies in the first and second data planes can be used to proxy the traffic of application service instances based on the configuration description information. On the one hand, since the master control plane and the slave control plane can constitute a distributed agent service system control plane, the master control plane can synchronize configuration description information to the slave control plane, ensuring the consistency of configuration description information in each control plane. On the other hand, the master control plane can synchronize configuration description information to the grid agent in the first data plane in the same region, and the slave control plane can synchronize configuration description information to the grid agent in the second data plane in the same region. There is no need for the control plane to communicate across regions to synchronize configuration description information to the grid agent, which improves the reliability of synchronizing configuration description information to the grid agent. Therefore, the overall reliability of the agent service system is comprehensively improved.
[0098] Below, in Figure 2 Based on the illustrated embodiments, combined with Figure 3 The above-mentioned agency service system will be described in detail.
[0099] Figure 3 A schematic diagram of an agent service system provided for an exemplary embodiment of this application. Figure 2 Please see. Figure 3 ,exist Figure 2 Based on the illustrated embodiment, the main control plane 201 may include a main controller 209 and a configuration aggregator 210.
[0100] The main controller 209 and the configuration aggregator 210 can run on different servers or different container groups. For example, the main controller can run on server 1 or Pod 3, and the configuration aggregator 210 can run on server 2 or Pod 4.
[0101] The main controller 209 can communicate with the grid agent 205 in the first data plane 203. The main controller 209 can obtain the configuration description information in the main control plane 201 and synchronize the configuration description information to the connected grid agent 205.
[0102] The configuration aggregator 210 can synchronize configuration description information to the slave control plane 202. Specifically, the configuration aggregator 210 can obtain configuration description information, generate a configuration description view corresponding to the configuration description information, and send the configuration description view to the slave control plane 202 so that the slave control plane 202 can obtain configuration description information based on the configuration description view.
[0103] Configuration descriptions are typically detailed information written in a specific format and exist as configuration files. For example, the specific format could be Lightweight Data Interchange (JavaScript Object Notation, JSON) format, Extensible Markup Language (XML) format, etc.
[0104] Configuration description views can be generated based on configuration description information. They present this information in a more intuitive and easier-to-understand way, providing a visual or formatted representation for different users (such as developers and operations personnel) to view, understand, and manipulate the configuration content. The content of the configuration description view is the same as the configuration description information, only the format differs.
[0105] The control plane 202 may include a slave controller 211, which can be used to obtain configuration description information based on a configuration description view.
[0106] Optionally, when the slave controller 211 is first started, the configuration aggregator 210 may send a configuration description view to the slave controller 211 so that the slave controller 211 can obtain all configuration description information based on the configuration description view.
[0107] Optionally, the configuration aggregator 210 can listen to the configuration description information. When the configuration description information is updated, the configuration aggregator 210 can synchronize the updated portion of the configuration description information to the slave controller 211.
[0108] The configuration aggregator 210 can map all operations on the configuration description view to operations on the configuration description information, so as to ensure the consistency and real-time performance of the configuration description information under the distributed control plane.
[0109] By configuring aggregator 210 to synchronize configuration description information with slave controller 211 in slave control plane 202, the consistency and real-time performance of configuration description information in master control plane 201 and slave control plane 202 are ensured. This makes the configuration description information configured by master controller 209 to grid agent 205 consistent with the configuration description information configured by slave controller 211 to grid agent 207 under limited network conditions. This, in turn, makes the behavior of grid agent 205 and grid agent 207 consistent, improving the overall reliability of the agent service system.
[0110] The controller 211 can communicate with the mesh agent 207 in the second data plane 204 and synchronize configuration description information with the mesh agent 207 in the second data plane 204.
[0111] Optionally, the configuration aggregator 210 can also be used to send primary control plane region information to the secondary control plane 202, so that the secondary control plane 202 can generate control plane region information based on the primary control plane region information and the secondary control plane region information.
[0112] The main control plane region information can be used to describe the region information of the main control plane 201. The main control plane region information may include at least one of the following: the region where the main control plane 201 is located, the port of the main controller 209, the IP address, etc.
[0113] For example, the main control plane region information may include: the main control plane 201 is located in region R1, the main controller 209 has port 1, and the Internet Protocol (IP) address is IP address 1.
[0114] The control plane region information can be used to describe the region information of the control plane 202. The control plane region information may include at least one of the following: the region where the control plane 202 is located, the port of the controller 211, the IP address, etc.
[0115] For example, the control plane region information may include: the control plane 202 is located in region R2, the port of the controller 211 is port 2, and the IP address is IP address 2.
[0116] The control surface area information may include primary control surface area information and secondary control surface area information.
[0117] For example, the configuration aggregator 210 sends the primary control plane region information to the secondary control plane 202 as shown in the example above. The secondary control plane can obtain its own region information, i.e., the secondary control plane region information. If the secondary control plane region information is as shown in the example above, then in the secondary control plane 202, control plane region information can be generated based on the primary control plane region information and the secondary control plane region information. The control plane region information may include: the primary control plane 201 is located in region R1, the port of the primary controller 209 is port 1, and the IP address is IP address 1; the secondary control plane 202 is located in region R2, the port of the secondary controller 211 is port 2, and the IP address is IP address 2.
[0118] Optionally, the second data plane 204 may also include a switcher 212. In the second data plane 204, the switcher 212 and the mesh agent 207 can run in different Pods. For example, the mesh agent 207 can run in Pod2, and the switcher 212 can run in Pod5.
[0119] The controller 211 and the switch 212 can communicate with each other. When the controller 211 is connected to the switch 212, the controller 211 can synchronize configuration description information to the mesh agent 207 in the second data plane 204 through the switch 212.
[0120] Specifically, the controller 211 can send configuration description information to the switch 212. After receiving the configuration description information, the switch 212 can send the configuration description information to the mesh agent 207 to realize the synchronization of configuration description information from the controller 211 to the mesh agent 207.
[0121] The controller 211 can also obtain control plane area information and send the control plane area information to the switch 212.
[0122] When the control plane 202 is unavailable, the switch 212 can switch the controller connected to the grid agent 207 in the second data plane 204 from the slave controller 211 to the master controller 209 in the master control plane 201 based on the control plane region information.
[0123] Optionally, the unavailability of the control plane 202 may include at least one of the following: network interruption between the switch 212 and the control plane 202, failure of the control plane 202 to send valid configuration information (e.g., HTTP protocol requests) to the mesh agent 207, or a request response rate lower than a preset threshold.
[0124] Since the control plane region information includes the master control plane region information, when the slave control plane 202 is unavailable, the switch 212 can switch the connected slave controller 211 to the master controller 209 based on the master control plane region information in the control plane region information.
[0125] For example, if the control plane region information includes: the main control plane 201 is located in region R1, the main controller 209 has port 1 and IP address 1; the slave control plane 202 is located in region R2, the slave controller 211 has port 2 and IP address 2, then when the slave control plane 202 is unavailable, the switch 212 can connect to the main controller 209 according to port 1 and IP address 1 in the control plane region information, so as to switch the connected slave controller 211 to the main controller 209.
[0126] When the main controller 209 is connected to the switch 212 in the second data plane 204, it can synchronize configuration description information to the mesh agent 207 in the second data plane 204 through the switch 212.
[0127] Specifically, the main controller 209 can send configuration description information to the switch 212. After receiving the configuration description information, the switch 212 can send the configuration description information to the mesh agent 207 so that the main controller 209 can synchronize the configuration description information with the mesh agent 207.
[0128] By using switcher 212, when control plane 202 becomes unavailable, the connected control plane is switched from control plane 202 to the main control plane 201, ensuring the availability of grid agent 207. This implements a disaster recovery mechanism for communication between grid agent in data plane and controller in control plane, further improving the overall reliability of the service network in multi-region or multi-cloud environments.
[0129] Optionally, the first data plane 203 may also include a switch 213. When the main controller 209 is connected to the switch 213, the main controller 209 can send configuration description information to the switch 213. After receiving the configuration description information, the switch 213 can send configuration description information to the mesh agent 205 to realize the synchronization of configuration description information between the main controller 209 and the mesh agent 205.
[0130] The master controller 209 can acquire control plane region information and send it to the switch 213. When the master control plane 201 is unavailable, the switch 213 can switch the connected controller from the master controller 209 to the slave controller 211. Correspondingly, when the slave controller 211 is connected to the switch 213, it can synchronize configuration description information with the mesh agent 205 in the first data plane 203 through the switch 213.
[0131] It should be noted that the network conditions of the server clusters where the main control plane 201 and the first data plane 203 are located are usually relatively good. Therefore, the necessity of setting up a switch 213 in the first data plane 203 is not very strong. Figure 3 (The switch 213 is indicated by a dashed line as optional); the network conditions of the server cluster where the control plane 202 and the second data plane 204 are located are usually relatively poor, so it is more necessary to set up the switch 212 in the second data plane 204.
[0132] In this embodiment, the control plane of the proxy service system may include a master control plane and a slave control plane, and the data plane may include a first data plane and a second data plane. The master control plane may include a master controller and a configuration aggregator. The master controller can be used to obtain configuration description information and synchronize the configuration description information to the mesh proxies in the first data plane. The configuration aggregator can be used to synchronize the configuration description information to the slave control plane and send master control plane region information to the slave control plane. The slave control plane may include a slave controller, which can be used to synchronize configuration description information to the mesh proxies in the second data plane. The second data plane may include a switcher, which can be used to switch the controller connected to the mesh proxies in the second data plane from a slave controller to the master controller in the master control plane based on the control plane region information when the slave control plane is unavailable. Both the mesh proxies in the first and second data planes can be used to proxy the traffic of application service instances based on the configuration description information. Firstly, since the master control plane and slave control planes can constitute a distributed agent service system control plane, the master control plane can synchronize configuration description information to the slave control planes, ensuring the consistency of configuration description information across control planes. Secondly, the master control plane can synchronize configuration description information to the grid agents in the first data plane within the same region, and the slave control plane can synchronize configuration description information to the grid agents in the second data plane within the same region. This eliminates the need for cross-regional communication between control planes to synchronize configuration description information to grid agents, improving the reliability of synchronizing configuration description information to grid agents. Thirdly, the switch in the second data plane can switch the connected slave controller to the master controller in the master control plane when the slave control plane is unavailable, implementing a disaster recovery mechanism for communication between the controller and the grid agent components. Combining these three aspects comprehensively improves the overall reliability of the agent service system.
[0133] Below, based on any of the above embodiments, combined with Figure 4 This provides a proxy service system that includes a main control plane and a first data plane.
[0134] Figure 4 A schematic diagram of an agent service system provided for an exemplary embodiment of this application. Figure 3 Please see. Figure 4 The proxy service system 400 may include a main control plane 401 and a first data plane 402. For example, the proxy service system 400 may be a service mesh.
[0135] The main control plane 401 and the first data plane 402 can be located in the same region. For example, the main control plane 401 and the first data plane 402 can both be located in region R1.
[0136] The main control plane 401 and the first data plane 402 can be located on different servers or different sub-server clusters within the same server cluster. For example, the main control plane 401 can run in sub-service cluster 1-1 within server cluster 1, and the first data plane 402 can run in sub-server cluster 1-2 within server cluster 1.
[0137] The main control plane 401 can be used to obtain configuration description information, and based on the configuration description information, synchronize the configuration description information to the grid agent 405 in the first data plane 402, and synchronize the configuration description information to the slave control plane in another agent service system.
[0138] Specifically, the main control plane 401 may include a main controller 404 and a configuration aggregator 403, and the first data plane 402 may include a grid agent 405 and an application service instance 406.
[0139] The main controller 404 can obtain configuration description information and synchronize the configuration description information to the mesh agent 405.
[0140] The configuration aggregator 403 can obtain configuration description information and generate a configuration description view based on the configuration description information. It then sends the configuration description view to the slave control plane in another proxy service system, so that the slave control plane in the other proxy service system can obtain configuration description information based on the configuration description view. This enables the main control plane 401 to synchronize configuration description information with the slave control plane in the other proxy service system.
[0141] The grid proxy 405 in the first data plane 402 can be used to proxy the traffic of the application service instance 406 based on the configuration description information.
[0142] In this embodiment, the proxy service system may include a main control plane and a first data plane. The main control plane can be used to obtain configuration description information and synchronize the configuration description information to the grid proxy in the first data plane and to the slave control plane. The grid proxy in the first data plane can be used to proxy the traffic of application service instances based on the configuration description information. On the one hand, the main control plane and the first data plane are located in the same region, so the reliability of the main control plane synchronizing configuration description information to the grid proxy in the first data plane is high. On the other hand, the main control plane and the slave control plane can constitute a distributed proxy service system control plane. The main control plane can synchronize configuration description information to the slave control plane, ensuring the consistency of the configuration description information in the main control plane and the slave control plane. This allows the slave control plane to synchronize configuration description information to the grid proxy in the same region's data plane without requiring the control plane to communicate across regions to synchronize configuration description information to the grid proxy, thus improving the reliability of synchronizing configuration description information to the grid proxy. Therefore, the overall reliability of the proxy service system is comprehensively improved.
[0143] Below, based on any of the above embodiments, combined with Figure 5 This paper provides a configuration synchronization method for a proxy service system applied to the main control plane.
[0144] Figure 5 This is a flowchart illustrating a configuration synchronization method for a proxy service system provided as an exemplary embodiment of this application. Please refer to [link / reference]. Figure 5 The method may include:
[0145] S501, Obtain configuration description information.
[0146] For example, if the agent service system is like Figure 4 As shown, the main control plane 401 can provide cloud-native declarative interfaces to the outside world. Users can upload configuration description information through the cloud-native declarative interfaces so that the main control plane 401 can obtain the configuration description information.
[0147] S502, Synchronize configuration description information to the grid agent in the first data plane and synchronize configuration description information to the control plane.
[0148] The first data plane and the main control plane are located in the same region, while the slave control plane and the main control plane are located in different regions. For example, the main control plane 401 and the first data plane 402 can both be located in region R1, while the slave control plane can be located in region R2.
[0149] If the agent service system is like Figure 4 As shown, the main control plane 401 can synchronize configuration description information to the grid agent 405 in the first data plane 402, and also synchronize configuration description information to the slave control plane.
[0150] The main control plane 401 may include a main controller 404 and a configuration aggregator 403. The main controller 404 can obtain configuration description information and synchronize the configuration description information to the grid agent 405.
[0151] The grid proxy 405 in the first data plane 402 can be used to proxy the traffic of the application service instance 406 based on the configuration description information.
[0152] The configuration aggregator 403 can obtain configuration description information and generate a configuration description view based on the configuration description information. It then sends the configuration description view to the slave control plane in another proxy service system, so that the slave control plane in the other proxy service system can obtain configuration description information based on the configuration description view. This enables the main control plane 401 to synchronize configuration description information with the slave control plane in the other proxy service system.
[0153] The control plane can synchronize configuration description information to grid proxies in the second data plane within the same region, enabling these grid proxies to proxy the traffic of their corresponding application service instances based on the configuration description information. In this embodiment, the main control plane in the proxy service system can obtain configuration description information and synchronize it to grid proxies in the first data plane and to the secondary control plane. Since the main control plane can synchronize configuration description information to grid proxies within the same region, the reliability of this synchronization is high. Furthermore, the main control plane can synchronize configuration description information to the secondary control plane, ensuring consistency between the configuration description information in both the main and secondary control planes. This allows the secondary control plane to synchronize configuration description information to grid proxies in the same data plane without requiring cross-regional communication between the control plane and the grid proxies, thus improving the reliability of synchronizing configuration description information to the grid proxies. Therefore, the overall reliability of the proxy service system is comprehensively improved.
[0154] Below, based on any of the above embodiments, combined with Figure 6 This provides a proxy service system that includes a control plane and a second data plane.
[0155] Figure 6 A schematic diagram of an agent service system provided for an exemplary embodiment of this application. Figure 4 Please see. Figure 6 The proxy service system 600 may include a control plane 601 and a second data plane 602. For example, the proxy service system 600 may be a service mesh.
[0156] The control plane 601 and the second data plane 602 can be located in the same region. For example, the control plane 601 and the second data plane 602 can both be located in region R2.
[0157] The control plane 601 and the second data plane 602 can be located on different servers or different sub-server clusters within the same server cluster. For example, the control plane 601 can run in sub-server cluster 2-1 within server cluster 2, and the second data plane 602 can run in sub-server cluster 2-2 within server cluster 2.
[0158] The control plane 601 can be used to receive configuration description information from the main control plane and, based on the configuration description information, synchronize the configuration description information to the mesh agent 605 in the second data plane 602.
[0159] The configuration description information may be received by the slave control plane 601 from the master control plane of another agent service system. The slave control plane 601 and the master control plane may be located in different regions. For example, the slave control plane 601 may be located in region R2, and the master control plane of the other agent service system may be located in region R1.
[0160] The control plane 601 may include a controller 603. The second data plane 602 may include a mesh agent 605 and an application service instance 606. Optionally, the second data plane 602 may also include a switch 604.
[0161] The control plane 601 can receive the configuration description view sent by the main control plane, and the controller 603 can obtain the configuration description view, obtain the configuration description information based on the configuration description view, and synchronize the configuration description information to the mesh agent 605.
[0162] The controller 603 can communicate with the switch 604. When the controller 603 is connected to the switch 604, the controller 603 can synchronize configuration description information to the mesh agent 605 in the second data plane 602 through the switch 604.
[0163] Specifically, the controller 603 can send configuration description information to the switch 604. After receiving the configuration description information, the switch 604 can send the configuration description information to the mesh agent 605 to realize the synchronization of configuration description information from the controller 603 to the mesh agent 605.
[0164] The controller 603 can also obtain control plane area information and send the control plane area information to the switch 604.
[0165] The control plane geographic information may include primary control plane geographic information and secondary control plane geographic information. The primary control plane geographic information may be obtained from the primary control plane of another agent service system and is used to describe the geographic information of the primary control plane in that other agent service system. The secondary control plane geographic information can be used to describe the geographic information of the secondary control plane 601 itself.
[0166] When the control plane 601 is unavailable, the switch 604 can switch the controller connected to the grid agent 605 in the second data plane 602 from the slave controller 603 to the master controller in the master control plane of another agent service system based on the control plane region information.
[0167] When the master controller in another agent service system is connected to the switch 604 in the second data plane 602, it can synchronize configuration description information to the grid agent 605 in the second data plane 602 through the switch 604.
[0168] The grid proxy 605 in the second data plane 602 can be used to proxy the traffic of the application service instance 606 based on the configuration description information.
[0169] In this embodiment, the proxy service system may include a control plane and a second data plane. The control plane can synchronize configuration description information to the grid proxy in the second data plane. The grid proxy in the second data plane is used to proxy the traffic of application service instances based on the configuration description information. The second data plane may also include a switcher, which can be used to switch the connected slave controller to the master controller in the master control plane of another proxy service system when the control plane is unavailable. On the one hand, the master control plane and the slave control plane can constitute a distributed proxy service system control plane. The master control plane can synchronize configuration description information to the slave control plane, ensuring the consistency of the configuration description information in the master control plane and the slave control plane. This allows the slave control plane to synchronize configuration description information to the grid proxy in the second data plane in the same region without the need for the control plane to communicate across regions to synchronize configuration description information to the grid proxy, thus improving the reliability of synchronizing configuration description information to the grid proxy. On the other hand, the switcher in the second data plane can switch the connected slave controller to the master controller in the master control plane when the control plane is unavailable, realizing a disaster recovery mechanism for communication between the controller and the grid proxy component. Combining these two aspects comprehensively improves the overall reliability of the proxy service system.
[0170] Below, based on any of the above embodiments, combined with Figure 7 This paper provides a configuration synchronization method for a proxy service system applied from the control plane.
[0171] Figure 7 This is a flowchart illustrating another configuration synchronization method for a proxy service system provided as an exemplary embodiment of this application. Please refer to... Figure 7 The method may include:
[0172] S701, Receive configuration description information from the main control plane.
[0173] The primary control plane is the control plane of another agent service system. Configuration description information can be received from the primary control plane by the secondary control plane. The secondary control plane and the primary control plane can be located in different regions.
[0174] For example, if the agent service system is like Figure 6 As shown, the slave control plane 601 can receive data from the master control plane of another agent service system. The slave control plane 601 and the master control plane can be located in different regions. For example, the slave control plane 601 can be located in region R2, and the master control plane of the other agent service system can be located in region R1.
[0175] The control plane 601 may include a slave controller 603. The control plane 601 can obtain a configuration description view sent by the master control plane, and the slave controller 603 can obtain a configuration description view and obtain configuration description information based on the configuration description view.
[0176] S702. Synchronize configuration description information to the grid agent in the second data plane.
[0177] The control plane and the second data plane can be located in the same region. For example, if the agent service system is like... Figure 6 As shown, both the control plane 601 and the second data plane 602 can be located in region R2.
[0178] For example, if the agent service system is like Figure 6 As shown, the second data plane 602 may include a grid agent 605 and an application service instance 606. Optionally, the second data plane 602 may also include a switcher 604.
[0179] The controller 603 can send configuration description information to the switch 604. After receiving the configuration description information, the switch 604 can send the configuration description information to the mesh agent 605 to realize the synchronization of configuration description information from the controller 603 to the mesh agent 605.
[0180] The controller 603 can also obtain control plane region information and send it to the switch 604. The control plane region information may include primary control plane region information and secondary control plane region information. The primary control plane region information may be obtained from the primary control plane of another agent service system and is used to describe the region information of the primary control plane in the other agent service system.
[0181] When the control plane 601 is unavailable, the switch 604 can switch the controller connected to the grid agent 605 in the second data plane 602 from the slave controller 603 to the master controller in the master control plane of another agent service system based on the control plane region information.
[0182] The grid proxy 605 in the second data plane 602 can be used to proxy the traffic of the application service instance 606 based on the configuration description information.
[0183] In this embodiment, the slave control plane of the proxy service system can obtain configuration description information and synchronize the configuration description information with the grid agent in the second data plane. The configuration description information is received from the master control plane by the slave control plane; the slave control plane and the master control plane are located in different regions. Since the configuration description information is received from the master control plane, the consistency of the configuration description information in the master control plane and the slave control plane is guaranteed, enabling the slave control plane to synchronize the configuration description information with the grid agent in the data plane in the same region. This eliminates the need for the control plane to communicate across regions to synchronize the configuration description information with the grid agent, improving the reliability of synchronizing the configuration description information with the grid agent. Therefore, the overall reliability of the proxy service system is comprehensively improved.
[0184] Figure 8This is a schematic diagram of the configuration synchronization device for a proxy service system provided as an exemplary embodiment of this application. Please refer to... Figure 8 The configuration synchronization device 80 of the proxy service system is applied to the main control plane of the proxy service system; the configuration synchronization device 80 of the proxy service system includes: an acquisition module 81 and a first synchronization module 82, wherein,
[0185] The acquisition module 81 is used to acquire configuration description information;
[0186] The first synchronization module 82 is used to synchronize the configuration description information to the grid agent in the first data plane and to synchronize the configuration description information to the slave control plane; the first data plane and the master control plane are located in the same region, and the slave control plane and the master control plane are located in different regions.
[0187] The configuration synchronization device of the proxy service system provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0188] Figure 9 A schematic diagram of the configuration synchronization device for another proxy service system provided as an exemplary embodiment of this application. Please refer to... Figure 9 The configuration synchronization device 90 of the proxy service system is applied to the slave control plane of the proxy service system; the configuration synchronization device 90 of the proxy service system includes: a receiving module 91 and a second synchronization module 92, wherein,
[0189] The receiving module 91 is used to obtain configuration description information, which is received by the slave control plane from the master control plane; the slave control plane and the master control plane are located in different regions.
[0190] The second synchronization module 92 is used to synchronize the configuration description information to the grid agent in the second data plane; the second data plane and the slave control plane are located in the same region.
[0191] The configuration synchronization device of the proxy service system provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0192] Figure 10 This is a schematic diagram of the structure of an electronic device provided for an exemplary embodiment of this application. Please refer to... Figure 10 The electronic device 1000 may include a processor 1001 and a memory 1002. Exemplarily, the processor 1001 and the memory 1002 are interconnected via a bus 1003.
[0193] The memory 1002 stores computer-executed instructions;
[0194] The processor 1001 executes the computer execution instructions stored in the memory 1002, causing the processor 1001 to perform the method as shown in the above method embodiment.
[0195] Figure 10 The electronic device shown can be a server as described in any of the above embodiments, and the electronic device can be used to run any one or more of the main controller, configuration aggregator, slave controller, switcher, grid agent, and application service instance as described in any of the above embodiments.
[0196] Accordingly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in the above-described method embodiments.
[0197] Accordingly, embodiments of this application may also provide a computer program product, including a computer program, which, when executed by a processor, can implement the methods shown in the above-described method embodiments.
[0198] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0199] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0200] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0201] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0202] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0203] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0204] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0205] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0206] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. An agent service system, characterized in that, The control plane of the proxy service system includes a master control plane and a slave control plane, and the data plane of the proxy service system includes a first data plane and a second data plane; the master control plane and the slave control plane are located in different regions, the first data plane is located in the same region as the master control plane, and the second data plane is located in the same region as the slave control plane; The main control plane is used to acquire configuration description information, synchronize the configuration description information to the grid agent in the first data plane, and synchronize the configuration description information to the slave control plane; The control plane is used to synchronize the configuration description information to the grid agent in the second data plane; Both the grid proxies in the first data plane and the second data plane are used to proxy the traffic of application service instances based on the configuration description information.
2. The system according to claim 1, characterized in that, The main control plane includes a main controller and a configuration aggregator; the main controller is communicatively connected to the grid agent in the first data plane. The main controller is used to synchronize the configuration description information to the connected mesh agent; The configuration aggregator is used to generate a configuration description view corresponding to the configuration description information and send the configuration description view to the control plane.
3. The system according to claim 2, characterized in that, The control plane includes a slave controller, which is communicatively connected to the mesh agent in the second data plane; The slave controller is used to obtain the configuration description information based on the configuration description view and synchronize the configuration description information to the grid agent in the second data plane.
4. The system according to claim 2 or 3, characterized in that, The configuration aggregator is also used for: Send the primary control plane region information to the secondary control plane so that the secondary control plane can generate control plane region information based on the primary control plane region information and the secondary control plane region information.
5. The system according to any one of claims 1-4, characterized in that, The second data plane also includes a switcher; The controller is also used to acquire the control plane area information and send the control plane area information to the switch; The switcher is used to switch the controller connected to the grid agent in the second data plane from the slave controller to the master controller in the main control plane based on the control plane geographic information when the slave control plane is unavailable. The main controller is also used to synchronize the configuration description information to the grid agent in the second data plane through the switch when connected to the switch in the second data plane.
6. The system according to any one of claims 1-5, characterized in that, The configuration description information is provided through a cloud-native declarative interface.
7. The system according to claim 6, characterized in that, The main control plane and the first data plane run on different servers or different sub-server clusters within the same server cluster; The control plane and the second data plane operate on different servers or different sub-server clusters within the same server cluster; The main control plane and the slave control plane run on different server clusters.
8. An agent service system, characterized in that, It includes a main control plane and a first data plane, wherein the main control plane and the first data plane are located in the same region; The main control plane is used to obtain configuration description information, synchronize the configuration description information to the grid agent in the first data plane, and synchronize the configuration description information to the slave control plane, so that the slave control plane synchronizes the configuration description information to the grid agent in the second data plane. The slave control plane and the main control plane are located in different regions, and the slave control plane and the second data plane are located in the same region. The grid proxy in the first data plane is used to proxy the traffic of application service instances based on the configuration description information.
9. An agent service system, characterized in that, It includes a control plane and a second data plane, wherein the control plane and the second data plane are located in the same region; The slave control plane is used to receive configuration description information from the master control plane and synchronize configuration description information to the grid agent in the second data plane. The slave control plane and the master control plane are located in different regions. The grid proxy in the second data plane is used to proxy the traffic of application service instances based on the configuration description information.
10. A configuration synchronization method for a proxy service system, characterized in that, The method is applied to the main control plane of the proxy service system provided in claim 8; the method includes: Get configuration description information; The configuration description information is synchronized to the grid agent in the first data plane and to the slave control plane, so that the slave control plane synchronizes the configuration description information to the grid agent in the second data plane; the first data plane and the master control plane are located in the same region, the slave control plane and the master control plane are located in different regions, and the slave control plane and the second data plane are located in the same region.
11. A configuration synchronization method for a proxy service system, characterized in that, Applied to the control plane of the agent service system provided in claim 9; the method includes: The slave control plane receives configuration description information from the master control plane, wherein the slave control plane and the master control plane are located in different regions. The configuration description information is synchronized to the grid agent in the second data plane, which is located in the same region as the slave control plane.
12. A configuration synchronization device for an agent service system, characterized in that, The device is applied to the main control plane of the proxy service system provided in claim 8; the device includes: an acquisition module and a first synchronization module, wherein, The acquisition module is used to acquire configuration description information; The first synchronization module is used to synchronize the configuration description information to the grid agent in the first data plane and to the slave control plane, so that the slave control plane synchronizes the configuration description information to the grid agent in the second data plane; the first data plane and the master control plane are located in the same region, the slave control plane and the master control plane are located in different regions, and the slave control plane and the second data plane are located in the same region.
13. A configuration synchronization device for an agent service system, characterized in that, Applied to the control plane of the agent service system provided in claim 9; the device includes: a receiving module and a second synchronization module, wherein... The receiving module is used to receive configuration description information from the main control plane, wherein the slave control plane and the main control plane are located in different regions. The second synchronization module is used to synchronize the configuration description information to the grid agent in the second data plane, wherein the second data plane and the slave control plane are located in the same region.
14. An electronic device, characterized in that, include: At least one processor; as well as A memory that is communicatively connected to the at least one processor; The memory stores instructions that can be executed by the at least one processor to cause the electronic device to perform the method of claim 10 or 11.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in claim 10 or 11.
16. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of claim 10 or 11.