Remote control surface error tolerance method based on service grid and related equipment

By introducing a liveness detection process into the service mesh to perform state detection on the remote control plane and local data plane components, and starting the local control plane component when the remote control plane component is unavailable and loading service configuration information, the communication interruption problem caused by remote control plane failure is resolved, and the service mesh is able to recover quickly and improve stability.

CN121037433APending Publication Date: 2025-11-28BEIJING KUWO TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511365124.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-23
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

In a service mesh, a failure of the remote control plane component can prevent the data plane component from obtaining valid service configuration information, leading to communication interruptions between business services and affecting overall stability and availability.

Method used

An activation process is introduced to detect the status of the remote control plane component and the local data plane component. If the remote control plane component is unavailable, the local control plane component is started to load the service configuration information of the target version and send it to the local data plane component to ensure the rapid recovery of communication capabilities.

Benefits of technology

In the event of a failure in the remote control plane component, the system enables rapid recovery of communication capabilities within the service mesh, enhances the fault tolerance of the distributed system, avoids the risk of single points of failure, and ensures the continuity and stability of communication between microservices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121037433A_ABST
    Figure CN121037433A_ABST
Patent Text Reader

Abstract

The invention discloses a remote control surface error tolerance method based on a service grid and related equipment, which are used for improving the fault tolerance capability of the service grid under the condition of a fault of a remote control surface component and ensuring the stability of micro-service communication. The method comprises the following steps: sending a state detection request to a target component in a service grid by using a detection process, and receiving response information returned by the target component according to the state detection request; the target component at least comprises one of the following components: a remote control plane component and a local data plane component; determining whether the remote control plane component is available according to the response information; if the remote control plane component is in an unavailable state, starting a local control plane component to load service configuration information of a target version, and sending the service configuration information of the target version to the local data plane component; wherein the local control plane component and the local data plane component are deployed in the same network environment.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of computer, and in particular, to a remote control plane fault-tolerant method based on a service mesh and related equipment. BACKGROUND

[0002] A service mesh is an infrastructure layer for managing communication between services in a microservice architecture, which usually adopts an architecture separating control plane components from data plane components. The control plane components are responsible for issuing policy configurations such as routing, and the data plane components are composed of data proxies (such as Envoy) deployed on each business service instance side, which are responsible for real-time reception, processing and forwarding of actual traffic. Current mainstream service mesh technologies (such as Istio) rely on centralized control plane components (such as Istiod) to dynamically issue service configuration information such as routing rules to all data plane component (such as Envoy) proxies, and the centralized control plane components and data plane components are usually deployed in different network environments: the control plane components are usually deployed in the data center of an enterprise or the independent network node of a cloud platform (such as a central management machine room, a special control cluster of a cloud service provider), while the data plane components are scattered in the local network environment of each business service instance (for example, the business subnet where the order service server of an e-commerce system is located, the local network segment of the local machine room where the payment service is deployed), and the data plane components must be continuously connected and receive valid service configuration information issued by the control plane components to correctly complete service discovery and request forwarding functions.

[0003] Under the current mainstream technical architecture, the data plane components highly depend on the service configuration information issued by the control plane components. When a service initiates a call, the request is first intercepted by the corresponding data plane component proxy and forwarded to the data plane component of the target service for processing according to the routing configured by the service configuration information, thereby realizing controllable communication between multiple microservices. Once the control plane component itself fails or the control plane component incorrectly issues abnormal service configuration information, all data plane components dependent on the control plane component will be unable to obtain valid service configuration information or use incorrect service configuration information, thereby losing the ability of service discovery and request forwarding, leading to large-scale communication interruption between business services, causing serious business failures, and being difficult to recover quickly, affecting the overall stability and availability of the distributed service system. SUMMARY

[0004] Based on the above problems, embodiments of the present application provide a remote control plane fault-tolerant method based on a service mesh and related equipment, aiming to improve the fault-tolerant capability of the service mesh in the case of remote control plane component failure and guarantee the stability of microservice communication.

[0005] In a first aspect, the embodiments of the present application provide a service mesh based remote control plane fault tolerance method, comprising:

[0006] sending a state detection request to a target component in a service mesh by a live detection process, and receiving response information returned by the target component according to the state detection request; the target component at least includes one of the following: a remote control plane component, a local data plane component;

[0007] determining whether the remote control plane component is available according to the response information;

[0008] if the remote control plane component is in an unavailable state, starting a local control plane component to load target version service configuration information, and sending the target version service configuration information to the local data plane component; wherein the local control plane component and the local data plane component are deployed in the same network environment.

[0009] In one of the embodiments, the method further comprises:

[0010] controlling the local data plane component to store the service configuration information sent by the remote control plane component in an available state as historical version service configuration information;

[0011] the starting of the local control plane component to load the target version service configuration information comprises:

[0012] starting the local control plane component to determine and load the target version service configuration information from a plurality of historical version service configuration information.

[0013] In one of the embodiments, the state detection request is used to subscribe to the service configuration information from the remote control plane component; and the response information is the service configuration information returned by the remote control plane component according to the state detection request.

[0014] the determining of whether the remote control plane component is available according to the response information comprises:

[0015] parsing the service configuration information returned by the remote control plane component, and determining whether the remote control plane component is available according to the parsed configuration parameter value; wherein when the configuration parameter value is empty or illegal, it represents that the remote control plane component is in an unavailable state.

[0016] In one of the embodiments, after the sending of the state detection request to the target component in the service mesh by the live detection process, and the receiving of the response information returned by the target component according to the state detection request, the method further comprises:

[0017] determining whether the local data plane component is available;

[0018] if the remote control plane component is in the unavailable state, starting a local control plane component to load the target version of service configuration information and sending the target version of service configuration information to the local data plane component.

[0019] In one of the embodiments, if the remote control plane component is in the unavailable state, the method further comprises:

[0020] determining whether the local data plane component is available;

[0021] if the remote control plane component is in the unavailable state and the local data plane is in the unavailable state, removing the local data plane component in the unavailable state from the service mesh;

[0022] starting a local control plane component corresponding to each of the local data plane components in the available state in the service mesh, so that each of the local control plane components loads the target version of service configuration information and sends the target version of service configuration information to the local data plane component corresponding to the local control plane.

[0023] In one of the embodiments, the state detection request is used to obtain the running state information of the local data plane component; and the response information further comprises the running state information returned by the local data plane component according to the state detection request.

[0024] The determination of whether the local data plane component is available comprises:

[0025] parsing the running state information returned by the local data plane component, and determining whether the local data plane component is available according to the running state parameter values obtained by the parsing; wherein, when the running state parameter values in the running state information all conform to a preset availability threshold, it is indicated that the remote control plane component is in the available state.

[0026] In one of the embodiments, after the control of the connection of the data plane component to the local control plane component to obtain the service configuration information issued by the local control plane component, the method further comprises:

[0027] sending a state detection request to the remote control plane component by using the alive detection process, and receiving response information returned by the remote control plane component according to the state detection request;

[0028] determining whether the remote control plane component is available according to the response information;

[0029] If the duration of the remote control plane component being in the available state reaches a preset threshold, the start configuration parameter of the local data plane component is replaced by the address of the remote control plane component from the address of the local control plane component, and the local data plane component is restarted to reacquire the service configuration information sent by the remote control plane component.

[0030] In one of the embodiments, the remote control plane component is multiple; each of the local data plane components has a preset configuration corresponding relationship with the multiple remote control plane components.

[0031] The state detection unit is configured to send a state detection request to a target component in the service mesh by using a live detection process, and receive response information returned by the target component according to the state detection request; the target component includes at least one of a remote control plane component and a local data plane component.

[0032] The state detection unit is configured to send a state detection request to a target component in the service mesh by using a live detection process, and receive response information returned by the target component according to the state detection request; the target component includes at least one of a remote control plane component and a local data plane component.

[0033] If the remote control plane component is in the unavailable state, the fault switching control unit is configured to start a local control plane component to load service configuration information of a target version, and send the service configuration information of the target version to the local data plane component; the local control plane component and the local data plane component are deployed in the same network environment.

[0034] If the multiple remote control plane components corresponding to the local data plane component are all in the unavailable state, the fault switching control unit is configured to start a local control plane component to load service configuration information of a target version.

[0035] In a second aspect, the embodiments of the present application further provide a remote control plane component fault tolerance device based on a service mesh, comprising:

[0036] The state detection unit is configured to send a state detection request to a target component in the service mesh by using a live detection process, and receive response information returned by the target component according to the state detection request; the target component includes at least one of a remote control plane component and a local data plane component.

[0037] The component availability detection unit is configured to determine whether the remote control plane component is available according to the response information.

[0038] The fault switching control unit is configured to start a local control plane component to load service configuration information of a target version if the remote control plane component is in the unavailable state, and send the service configuration information of the target version to the local data plane component; the local control plane component and the local data plane component are deployed in the same network environment.

[0039] In a third aspect, the embodiments of the present application further provide a computer device, comprising:

[0040] a central processing unit, a memory, and an input / output interface;

[0041] The memory is a volatile memory or a persistent memory.

[0042] The central processing unit is configured to communicate with the memory and execute instruction operations in the memory to perform the service mesh-based remote control plane fault tolerance method described in the first aspect of the embodiments or any specific implementation manner of the first aspect.

[0043] In a fourth aspect, the embodiments of the present application further provide a computer-readable storage medium having a computer program stored thereon, and the computer program is executed by a processor to perform the service mesh-based remote control plane fault tolerance method described in the first aspect of the embodiments or any specific implementation manner of the first aspect.

[0044] In a fifth aspect, the embodiments of the present application further provide a computer program product having a computer program / instruction stored thereon, and the computer program / instruction is executed by a processor to implement the service mesh-based remote control plane fault tolerance method described in the first aspect of the embodiments or any specific implementation manner of the first aspect.

[0045] As can be seen from the above technical solutions, the embodiments of the present application have the following advantages:

[0046] The embodiments of the present application introduce a live detection process in the service mesh, perform state detection on target components including remote control plane components and local data plane components, and automatically start a local control plane component deployed in the same network environment as the local data plane component when the remote control plane component is detected as unavailable. The local control plane component can load service configuration information of a target version and send required service configuration information to the local data plane component to maintain the request forwarding capability of the local data plane component. The technical solution of the present application can quickly recover the communication capability in the service mesh in the scenario where the remote control plane component has abnormal information or failure, effectively improve the fault tolerance capability of the distributed system, avoid the single-point failure risk caused by the high dependence of the data plane component on the centralized remote control plane component, and ensure the continuity of communication between microservices. BRIEF DESCRIPTION OF DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained without creative labor based on the provided drawings.

[0048] Figure 1A traditional service mesh architecture schematic diagram provided for an embodiment of the present application;

[0049] Figure 2 A remote control plane fault tolerance method flow schematic diagram based on a service mesh provided for an embodiment of the present application;

[0050] Figure 3 A remote control plane fault tolerance architecture schematic diagram based on a service mesh provided for an embodiment of the present application;

[0051] Figure 4 A remote control plane fault tolerance device structure schematic diagram based on a service mesh provided for an embodiment of the present application;

[0052] Figure 5 A computer device structure schematic diagram provided for an embodiment of the present application. DETAILED DESCRIPTION

[0053] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.

[0054] A service mesh is a special infrastructure layer responsible for inter-service communication in a microservice architecture. The service mesh embeds application services in a transparent manner through a lightweight network proxy (Sidecar), and implements capabilities such as traffic management, service discovery, circuit breaking, rate limiting, and secure communication. Figure 1As shown, the service mesh in the prior art is mainly composed of a control plane component and a data plane component. Among them, the control plane component is the centralized policy decision and coordination center of the service mesh, and is usually deployed in a centralized manner, for example, represented by the Istiod service in the Istio architecture, the control plane component is mainly an Istiod service, which is used to uniformly generate and issue routing rules and traffic management policies of business services. The data plane component is a set of components that perform actual traffic processing in the service mesh, responsible for real-time forwarding of requests between business services, and is usually composed of Envoy agents deployed next to each business service node, forming a communication pipeline independent of business code, used to intercept service requests and perform traffic forwarding. Taking the case of business service Service1 calling business service Service2, when Service1 initiates a request, the request is first intercepted by the Envoy1 agent deployed on the same machine, Envoy1 finds the target address of Service2 according to the service configuration information obtained from the control plane component Istiod, and forwards the request to Envoy2 deployed next to the Service2 node, and then Envoy2 sends the request to Service2 to complete processing. In this way, the service mesh realizes transparent proxying and unified control of service calls.

[0055] However, in the above process, each data plane component Envoy agent corresponding to each business service is highly dependent on the normal work of the control plane component Istiod. If the control plane component issues abnormal service configuration information, or fails to issue any service configuration information due to failure, Envoy1 cannot correctly parse or update its local routing rules, resulting in its inability to find the valid information of Service2, thereby causing the call of Service1 to Service2 to fail. In this case, the failure of the single-point control plane component may cause a large area of service call interruption, seriously threatening the stability and availability of the overall microservice. Therefore, how to guarantee the normal forwarding capability of the data plane when the control plane component is abnormal is a problem to be solved at present.

[0056] To solve the above problem, the present application provides a remote control plane fault-tolerant method based on a service mesh, which can quickly enable a local control plane component when a remote control plane component is abnormal, guarantee the request forwarding capability of the data plane, and thus ensure the continuity of communication between microservices and the overall stability of the system.

[0057] The various embodiments of the present application will be described in further detail below with reference to the accompanying drawings.

[0058] The embodiment of the present application provides a remote control plane fault-tolerant method based on a service mesh, as shown in the figure, the method comprises steps S201-S203. Figure 2

[0059] ​S201: A state detection request is sent to a target component in the service mesh using a live detection process, and response information returned by the target component according to the state detection request is received;

[0060] In the embodiments of the present application, as shown in Figure 3 The live detection process (such as the detect detection process in Figure 3 is used to periodically send a state detection request to a target component in the service mesh to detect the running availability of the target component. Specifically, the live detection process runs on a specific node and can send a data packet containing a detection instruction to a target component deployed in the service mesh, where the target component includes at least one of the following: a remote control plane component (such as the remote control plane Istiod shown in the figure), and a local data plane component (such as the data plane Envoy shown in the figure) deployed on each business service node. The target component returns corresponding response information based on its internal health status after receiving the state detection request. Figure 3 The right half of the figure also shows the above process: in a normal case, the local data plane component Envoy and the remote control plane component Istio are in communication connection. When the detection process detects the remote control plane component and / or the local data plane component, the target component receiving the state detection request returns response information according to its own health status. The live detection process is used to realize real-time health status feedback of the target component. It should be noted that, Figure 3 In the normal working path, a continuous straight arrow line is used to indicate that when the remote control plane component is in an available state, the live detection process can obtain complete response information within a preset detection time limit. Figure 3 In the abnormal working path, a dashed arrow is used to indicate that when the remote control plane component is in an unavailable state, the response information is missing or, at this time, the fault tolerance processing step corresponding to the dashed arrow will be performed.

[0061] S202: Determine whether the remote control plane component is available according to the response information;

[0062] After the live detection process receives the response information returned by the target component, the response information needs to be parsed and verified to determine whether the remote control plane component is in an available state. Specifically, the verification operation can determine whether the response information is returned within a preset detection time limit based on its time characteristics, or whether the returned response information is empty, whether the returned response information is missing, illegal, or inconsistent with the existing context based on the content of the corresponding information. If any of the above judgment conditions is not met, it can be considered that the remote control plane component is in an unavailable state.

[0063] S203: If the remote control plane component is in the unavailable state, the local control plane component loads the service configuration information of the target version and sends the service configuration information of the target version to the local data plane component; wherein the local control plane component and the local data plane component are deployed in the same network environment.

[0064] If it is determined that the remote control plane component is in the unavailable state, the following fault-tolerant processing procedure is triggered. The local control plane component (such as the Tiny xDS Server shown in the figure) deployed in the same network environment as the local data plane component (such as Envoy) takes over the configuration distribution task. Specifically, in the embodiment of the present application, the local control plane component has the basic configuration distribution function of the remote control plane component in advance, and can automatically start under the condition that the remote control plane component is detected to be unavailable, load the service configuration information of the target version in the local cache or persistent storage, and dump the corresponding service configuration information to the local as shown in the upper left of the figure.

[0065] After the local control plane component completes the loading, the startup parameters of the local data plane component are updated to enable the data plane component to reconnect to the currently started local control plane component. Then, the local data plane component is restarted and establishes a connection with the local control plane component. After the local control plane component takes over the configuration management task, it distributes the loaded service configuration information to the local data plane component through the same protocol as the remote control plane component, such as the x discovery service protocol (xDS). The above process can ensure that the local data plane component can still normally process the inbound or outbound traffic requests in the service mesh under the condition that the remote control plane component is unavailable, and guarantee the continuous operation of the business service. Figure 3 The paths of the black dashed arrow, the red dashed arrow and the red straight arrow in the lower left of the figure also reflect the above fault-tolerant processing procedure: if it is determined that the remote control plane component is unavailable, Envoy will switch to connect to Tiny xDS Server. Tiny xDS Server loads the service configuration information previously dumped by the local data plane component to the local or other persistent storage, and then can distribute the loaded service configuration information to the local data plane component, realizing the continuous operation of the business.

[0066] In the above service mesh-based remote control plane fault-tolerance method, when it is detected by the live detection process that the remote control plane is unavailable, a local control plane component in the same network environment as the local data plane component is started immediately and loaded with the target version of service configuration information sent to the local data plane component, thereby realizing automatic loading and distribution of service configuration information, effectively avoiding data plane component failure and service failure caused by remote control plane component failure, and enhancing the stability and service continuity of the service mesh. In addition, the technical solution of the present application does not need to make invasive changes to the service itself, has good universality and scalability, and is suitable for high availability protection requirements of large-scale distributed service architecture.

[0067] To improve the stability and fault-tolerance capability of the local data plane component in the service mesh architecture, in one of the embodiments, the method of the present application further comprises: storing the service configuration information sent by the remote control plane component in the available state as historical version service configuration information by the local data plane component.

[0068] Starting the local control plane component to load the target version of service configuration information comprises: starting the local control plane component to determine and load the target version of service configuration information from the plurality of historical versions of service configuration information.

[0069] In the present application, when the remote control plane component is in a normal working state and pushes service configuration information to the local data plane component, the data plane component will persistently save the currently received and verified available service configuration information in the form of a snapshot to the local file system or other preset storage location according to a preset time strategy (for example, every ten minutes) or event trigger strategy (for example, after successfully applying new configuration each time), including but not limited to local disk, remote object storage, distributed file system or cloud storage service, etc., to form a time-sequenced service configuration information snapshot set. The successful execution of this saving operation indicates that the remote control plane component is in a normal available state, and the saved service configuration information is also normal and available, thereby providing a reliable data recovery basis for subsequent possible remote control plane fault-tolerance processing. The time interval parameter for saving service configuration information can be flexibly adjusted according to the configuration change frequency and service mesh architecture stability requirements of the actual application scenario, for example, set to ten minutes, twenty minutes or thirty minutes, and the present application can save multiple historical versions of service configuration information to form a time-sequenced service configuration information snapshot set. The interval time of service configuration information saving, the number of historical service configuration information to be retained, and the storage location parameters can be flexibly adjusted according to the actual deployment scenario, which are not specifically limited in the present application.

[0070] In a case that the remote control plane component is determined as unavailable by the alive detection process due to an abnormality or failure of the remote control plane component, in order to realize uninterrupted service, the local control plane component loads the service configuration information of the target version. Here, the service configuration information of the target version is one of the plurality of historical versions of the service configuration information stored in advance, and the selection manner of the target version can be preset as taking the service configuration information saved last time, or taking the service configuration information with the earliest timestamp, or selecting the version at a specific time point through a preset algorithm logic. After starting the local control plane component, the local control plane component can simulate the function of the remote control plane component, and reissue the service configuration information of the target version to the local data plane component by using the same protocol (such as the xDS protocol) as the remote control plane component, so that the local data plane component normally completes the functions of service discovery, routing forwarding and the like, and maintains the continuity of the service processing flow.

[0071] Through the above technical solution, in a case that the remote control plane component has an error configuration or is unreachable, the historical version of the service configuration information is saved in the service mesh architecture, and the local control plane is started to take over the failure to realize emergency loading of the service configuration information, which can effectively avoid the communication interruption of the service due to the acquisition failure or abnormal loading of the service configuration information by the local data plane component, thereby guaranteeing the continuity and reliability of the downstream service call link, and improving the robustness and maintainability of the micro-service system in a complex service network and a heterogeneous deployment environment.

[0072] In one of the embodiments, the state detection request is used to subscribe to the service configuration information from the remote control plane component; and the response information is the service configuration information returned by the remote control plane component according to the state detection request.

[0073] The determination of whether the remote control plane component is available according to the response information includes: analyzing the service configuration information returned by the remote control plane component, and determining whether the remote control plane component is available according to the configuration parameter value obtained by the analysis; and when the configuration parameter value is empty or illegal, it indicates that the remote control plane component is in an unavailable state.

[0074] In the embodiments of the application, the alive detection process is usually an independent process, which is used to initiate a state detection request to the remote control plane component. Unlike the traditional network connectivity detection, the state detection request in the application is configured to have a subscription behavior with business semantics, which is essentially to simulate the normal working process of the local data plane component and subscribe to the service configuration information (such as cluster, route, listener and the like under the xDS protocol) from the remote control plane component.

[0075] After the remote control plane component receives the state detection request, it generates corresponding service configuration information according to its current configuration state and returns the information as response information to the alive detection process. After receiving the response information, the alive detection process does not only make a preliminary judgment based on whether the response information is received, but further analyzes the specific configuration parameter values in the response information to complete further evaluation of the availability of the control plane component. For example, if the response information contains illegal formats, missing required fields, an empty Cluster list, abnormal Route configuration structure, and the like, the alive detection process can determine that the remote control plane component is currently in an unavailable state. In addition, if the remote control plane component is down, overloaded, or the like, resulting in the inability to generate response information in a timely manner, network connection abnormalities resulting in the failure of response information return, or service configuration information logic errors (for example, the requested route rule "VirtualService" conflicts with the subset configuration "DestinationRule" defining the business service, for example, VirtualService references subset:v2, but the corresponding DestinationRule does not define the subset. Such service configuration information will not throw a syntax error when issued by the remote control plane component, but the local data plane component will fail to parse or find the target subset when applying the service configuration information, resulting in local data plane component routing failure or service interruption), the alive detection process can also fail to receive the response information returned by the remote control plane component, and the control plane component can also be determined to be unavailable.

[0076] Compared with the traditional "whether the connection is successful" or "whether the data is returned" coarse-grained judgment method, the embodiment of the application can identify explicit failures such as remote control plane component downtime or network interruption by simulating the configuration subscription behavior of the real local data plane component and analyzing and verifying the returned service configuration information, and can also effectively identify implicit abnormalities such as empty service configuration information, format errors, or logical errors issued by the remote control plane component, thereby greatly reducing the risk of local data plane component running failure caused by abnormal configuration data of the remote control plane component, improving the perception ability of the service mesh system to various abnormal states of the remote control plane component, providing more reliable and accurate judgment basis for subsequent fault tolerance switching of the remote control plane component, and thereby enhancing the stability and high availability of the service mesh system as a whole.

[0077] In an embodiment, in order to facilitate system maintenance personnel to find and troubleshoot abnormal situations caused by the unavailability of the remote control plane component in a timely manner, the embodiment of the application further implements active reporting of abnormal states. Specifically, in the process of automatically changing the local data plane component startup parameters and restarting the local data plane component by the system to make it switch to connect the local control plane component, reporting data about the abnormal state of the remote control plane component can be generated at the same time, and the abnormal state data is reported to the system monitoring platform or operation and maintenance background through a preset channel. Here, the reporting data can include but is not limited to: the reason for the failure of the remote control plane component detection (such as failure to receive service configuration information, empty service configuration information, format error or logical illegality), the version identification of the service configuration information loaded when the local control plane takes over (such as the version identification related to the timestamp of the service configuration information), the timestamp of the data plane proxy switching to connect the control plane, and the like. Through the active reporting of the abnormal state data, it is helpful for the system maintenance personnel to quickly locate and troubleshoot the root cause of the failure, thereby improving the maintainability and stability of the overall service mesh.

[0078] It should be noted that considering that the deployment environment of the service mesh can include container orchestration system (K8s, Kubernetes) clusters, physical servers, cloud virtual machines, and various forms, in the Kubernetes environment, built-in probe functions such as liveness probe and readiness probe are provided, which can be used to continuously detect the running state of the local data plane component in the container group Pod, but in some non-K8s environment, for example, deployed in a physical server, a virtual machine or a bare metal cluster, it does not have the detection capability of the running state of the local data plane component. Therefore, if only relying on the process health check capability provided by the system environment, the availability monitoring of the local data plane component of the service mesh system running across platforms cannot be met. If the running state of the local data plane component is not independently judged, and the remote control plane component is determined to be abnormal only when the remote control plane component cannot receive the feedback of the local data plane component or the local data plane component is not successfully connected, the possibility of failure of the local data plane component itself may be ignored. For example, the local data plane component is in a false death or down state due to Central Processing Unit (CPU) resource exhaustion, memory leakage, thread blocking and other problems. At this time, it is impossible to successfully establish a connection or obtain the service configuration information issued by the remote control plane component. If there is no state detection of the local data plane component itself, this kind of local data plane component failure may be mistakenly considered as the unavailability of the remote control plane component, thereby triggering unnecessary fault tolerance mechanisms (such as control plane switching), causing more interference.

[0079] Therefore, to prevent being misjudged as the remote control plane component being unavailable due to the data plane itself being abnormal, in one embodiment, after sending the state detection request to the target component in the service mesh by using the live detection process and receiving the response information returned by the target component according to the state detection request, the method further comprises: determining whether the local data plane component is available; if the local data plane component is in an unavailable state and the remote control plane component is in an available state, the local data plane component in the unavailable state is removed from the service mesh, and the remote control plane component in the available state is used to continue sending the service configuration information to other local data plane components in the available state.

[0080] The embodiment of the present application detects the running state of the local data plane component itself through the live detection process. The detection can be implemented in various ways, for example, sending a heartbeat detection request to the local data plane component, or querying the process running state, port connectivity, resource utilization, etc. of the local data plane component to determine whether it is in an available state.

[0081] If the local data plane component is in an unavailable state and the remote control plane component is in an available state at the same time, the current local data plane component node in the unavailable state is processed in the form of removal. Specifically, the local data plane component in the unavailable state can be removed from the service mesh so that it no longer participates in service discovery and traffic distribution as a routable target node. The removal operation can be implemented through the service registry center, service discovery module or configuration center in the service mesh architecture to ensure that subsequent business traffic will not be routed to the local data plane component node in the unavailable state, thereby avoiding service interruption or request failure caused by node failure.

[0082] After completing the removal of the unavailable data plane component, the service configuration push operation will continue to be performed on the remaining local data plane components in the available state by relying on the remote control plane component. In this process, the remote control plane component pushes the service configuration information to other normally running local data plane component nodes through a standard protocol (such as the xDS protocol) to ensure the continuous availability of the overall service of the service mesh.

[0083] Through the above implementation, the availability state of different target components in the service mesh system in a multi-failure scenario is identified, and the accuracy of failure determination of the remote data plane component and the local data plane component is improved. Especially without relying on a specific container platform (such as Kubernetes), the detection of the health state of the local data plane component itself can effectively avoid the situation of mis-triggering global fault tolerance processing due to local data plane component local abnormality, thereby enhancing the stability and robustness of the service mesh, and facilitating maintenance personnel to locate and troubleshoot problems according to the state reporting information.

[0084] In one of the embodiments, if the remote control plane component is in the unavailable state, the local control plane component is started to load the target version of service configuration information and send the target version of service configuration information to the local data plane component, including: determining whether the local data plane component is available; if the remote control plane component is in the unavailable state and the local data plane is in the unavailable state, the local data plane component in the unavailable state is removed from the service mesh; for other local data plane components in the service mesh in the available state, the local control plane component corresponding to each local data plane component in the available state is started respectively, so that each local control plane component loads the target version of service configuration information and sends the target version of service configuration information to the local data plane component corresponding to the local control plane.

[0085] The foregoing embodiments mention that, in order to avoid the situation that the fault tolerance processing of replacing the control plane is triggered due to the misjudgment that the remote control plane component is unavailable because of the fault (such as process crash, resource exhaustion or communication link interruption) of the data plane component itself, it is further needed to determine whether the corresponding local data plane component is in the available state. The determination of the available state of the local data plane component can be achieved by the connection test or the running state information acquisition of the local data plane component by the live detection process.

[0086] If it is confirmed that the remote control plane component is in the unavailable state and it is confirmed that the local data plane component is also in the unavailable state, it indicates that the local data plane component node in the unavailable state has lost the service capability as a whole. In order to avoid the abnormality caused by the participation of the local data plane component node in the unavailable state in the service configuration interaction, the local data plane component in the unavailable state can be removed from the current service mesh. The removal operation can be achieved by modifying the registration information or metadata of the service registry center or the service discovery module, so as to ensure that the upper layer traffic scheduling or routing system no longer sends new requests to the local data plane component node in the unavailable state.

[0087] For the other data plane components in the service mesh that are in an available state except the above-mentioned excluded nodes, a local control plane component corresponding to each data plane component will be started. The local control plane component is deployed in the same network environment as the corresponding local data plane component, has the ability to load service configuration information independently and complete service configuration information pushing, and can replace the remote control plane component to perform service configuration information delivery tasks. Each local control plane component will load the target version of service configuration information. Then, each local control plane component sends the loaded target version of service configuration information to the corresponding local data plane component through a preset data interaction protocol (such as the xDS protocol), to ensure that these local data plane components in an available state can receive effective configuration in time and continuously provide service capabilities. In the case of failure of the remote control plane component, through the above-mentioned way, the normal operation of the local data plane components in the service mesh that are still in an available state can be maintained, the fault isolation capability is improved, and the service continuity in the service mesh is ensured.

[0088] In one embodiment, the state detection request is used to obtain the running state information of the local data plane component. Specifically, the keep-alive process sends a specific state detection request to the management interface of the local data plane component, such as the Admin API (Application Programming Interface) of Envoy, to request the running state information, which includes but is not limited to CPU occupancy, memory usage, network connection number, time stamp of the last abnormal crash, current active connection number, and request processing success rate, etc. The response information also includes the running state information returned by the local data plane component according to the state detection request.

[0089] Determining whether the local data plane component is available includes: analyzing the running state information returned by the local data plane component, and determining whether the local data plane component is available according to the analyzed running state parameter values; wherein when the running state parameter values in the running state information all meet the preset availability threshold, it is indicated that the remote control plane component is in an available state.

[0090] After receiving the running state information returned by the local data plane component, each running state parameter value is parsed and detected, and each running state parameter value is compared with a preset availability threshold. The preset availability threshold includes but is not limited to a process CPU occupancy rate threshold (such as continuously exceeding 95% being considered abnormal), a memory usage threshold (such as exceeding 90% of the allocated memory being considered abnormal), a connection crash number threshold (such as exceeding 3 times per hour being considered abnormal), a network connection number threshold (such as exceeding 80% of the maximum allowed connection number being considered abnormal), and the like. Only when all running state parameter values are within the respective corresponding availability threshold range, the local data plane component is determined to be in an available state. If any running state parameter value exceeds the preset availability threshold, the local data plane component is determined to be in an unavailable state. Thus, various abnormal situations that the local data plane component may encounter can be comprehensively covered, including resource leakage, processing capacity reduction, stability degradation, and different types of failure modes, and abnormal changes in the internal running state can be discovered in a timely manner. Through the preset availability threshold which can be flexibly configured, the system can also adapt to monitoring requirements in different deployment environments and business scenarios, providing reliable decision basis for fault isolation and fault recovery of the service mesh as a whole, thereby effectively improving the overall reliability and stability of the service mesh.

[0091] In an embodiment, when the remote control plane component is confirmed to have returned to a normal running state due to fault repair, resource expansion, network recovery, or the like, a control instruction can be sent to a designated alive detection process through a dedicated management background or a command line tool. The control instruction can include a switching authorization identifier and a start parameter setting of the local data plane component, such as switching the connection address configuration originally pointing to the local control plane component to the connection address of the remote control plane component, to ensure that the switching operation after the recovery of the remote control plane component is always within a controllable range, avoiding the risk of unexpected switching due to misjudgment or network transient fluctuations. After completing the start parameter configuration, the alive detection process restarts the local data plane component. After the restart is completed, the local data plane component re-establishes the connection with the remote control plane component and receives the latest service configuration information from the remote control plane component based on a preset protocol (such as the xDS protocol), so that the local data plane component returns to the normal running state of centralized configuration management by the remote control plane component. The embodiment of the present application avoids the risk of automatically switching back to the remote control plane component through manual intervention, which is suitable for service mesh environments with extremely high requirements for system stability, ensuring service continuity while maintaining the reliability of the service mesh.

[0092] In one of the embodiments, after the control data plane component connects to the local control plane component to obtain the service configuration information issued by the local control plane component, the method further comprises: sending a state detection request to the remote control plane component by using the live detection process, receiving response information returned by the remote control plane component according to the state detection request; determining whether the remote control plane component is available according to the response information; if the duration of the remote control plane component in the available state reaches a preset threshold, replacing the start configuration parameter of the local data plane component from the address of the local control plane component to the address of the remote control plane component, and restarting the local data plane component to reacquire the service configuration information sent by the remote control plane component.

[0093] After the local data plane component is controlled to connect to the local control plane component and successfully obtains the service configuration information issued by the local control plane component, it is still necessary to continuously monitor the available state of the remote control plane component to determine whether it has recovered to the available state. For this purpose, the live detection process will continue to run in the service mesh and send a state detection request to the remote control plane component at a preset period. The state detection request can include operations such as simulating xDS connection to subscribe to service configuration information. The remote control plane component returns response information, such as xDS service configuration information, after receiving the state detection request.

[0094] The live detection process analyzes the response information returned by the remote control plane component and determines whether it is currently in the available state. This process can refer to the foregoing embodiments and will not be described here. Each round of state detection request forms a judgment result, so the live detection process can record and statistics the judgment results.

[0095] When the live detection process continuously detects that the remote control plane component is in the available state for more than a preset threshold, it can be considered that the remote control plane component has recovered to the available state. The duration of the preset threshold can be set to 5 minutes, 10 minutes, etc. The preset threshold can be configured according to actual deployment requirements, and the embodiments of the present application do not limit this. On this basis, to complete the control right switching operation, the live detection process performs a modification operation of the start parameter of the local data plane component, specifically replacing the start parameter of the local data plane component originally pointing to the address of the local control plane component (such as 127.0.0.1:15010) with the address of the remote control plane component (such as istiod.istio-system.svc.cluster.local:15012). After the start parameter is modified, to make the new configuration take effect, the live detection process will further perform a restart operation on the local data plane component. After the data plane component is restarted, it will reestablish a connection with the remote control plane component based on the newly set start parameter, and obtain the current version of the service configuration information from the remote control plane component. The latest service configuration information can include the latest cluster routing, listener configuration, and other configuration parameters.

[0096] Thus, by continuously detecting the state and judging the available duration, the frequent switching caused by the temporary recovery of the remote control plane component (such as accidental network jitter) is avoided, thereby ensuring the stability of the service mesh. In addition, the live detection process is responsible for automatically completing the state detection of the remote control plane component, the modification of the start parameters, and the restart operation of the local data plane component, which can also avoid configuration errors caused by human intervention, thereby improving the automation level and system self-healing ability.

[0097] In one of the embodiments, there are multiple remote control plane components; each local data plane component has a preset configuration corresponding relationship with the multiple remote control plane components; the live detection process is used to send a state detection request to a target component in the service mesh, and receive response information returned by the target component according to the state detection request, including: the live detection process is used to send a state detection request to multiple remote control plane components in the service mesh, and receive response information returned by the multiple remote control plane components according to the state detection request.

[0098] If the remote control plane component is in an unavailable state, the local control plane component is started to load the service configuration information of the target version, including: if the multiple remote control plane components corresponding to the local data plane component are all in an unavailable state, the local control plane component is started to load the service configuration information of the target version.

[0099] In the embodiments of the present application, there can be multiple remote control plane components in the service mesh architecture, and each local data plane component has a preset configuration corresponding relationship with the multiple remote control plane components. For example, the list of remote control plane components to which the local data plane component should be connected can be determined by means of configuration files, parameter lists, or environment variables, etc.

[0100] In order to real-time master the availability state of the multiple remote control plane components, the live detection process is configured to send state detection requests to the multiple remote control plane components simultaneously. These state detection requests can be performed in parallel or in a polling manner, and the state detection request is used to simulate xDS connection to subscribe to service configuration information.

[0101] After each remote control plane component receives the state detection request, it returns corresponding response information based on its current running state, and the live detection process analyzes the response information returned by the remote control plane component, and judges whether it is currently in an available state. This process can refer to the foregoing embodiments, and will not be described here. When the live detection process detects that the multiple remote control plane components corresponding to the local data plane component are all in an unavailable state, the live detection process starts the local control plane component in the same network environment of the local data plane component and loads the service configuration information of the target version, so that the local control plane component issues it to the local data plane component.

[0102] Thus, even in a complex multi-remote control plane component deployment environment, when each remote control plane component is simultaneously in an unavailable state, fault tolerance processing can be implemented based on the local control plane component corresponding to each data plane component, thereby avoiding service interruption caused by single point failure or multi-point crash.

[0103] To implement the service mesh-based remote control plane component fault tolerance method of the embodiments of the present application, the embodiments of the present application further provide a service mesh-based remote control plane component fault tolerance apparatus, as shown in the following Figure 4 The apparatus comprises:

[0104] A state detection unit 401 is configured to send a state detection request to a target component in a service mesh by using a keep-alive process, and receive response information returned by the target component according to the state detection request; the target component at least includes one of the following: a remote control plane component, a local data plane component;

[0105] A component availability detection unit 402 is configured to determine whether the remote control plane component is available according to the response information;

[0106] A fault switching control unit 403 is configured to start a local control plane component to load target version service configuration information if the remote control plane component is in an unavailable state, and send the target version service configuration information to the local data plane component; wherein the local control plane component and the local data plane component are deployed in the same network environment.

[0107] In one of the embodiments, the apparatus further comprises:

[0108] A service configuration information management unit is configured to control the local data plane component to store service configuration information sent by the remote control plane component in an available state as historical version service configuration information;

[0109] The fault switching control unit 403 is further configured to start the local control plane component to determine and load target version service configuration information from a plurality of historical version service configuration information.

[0110] In one of the embodiments, the state detection request is used to subscribe to the service configuration information of the remote control plane component; and the response information is service configuration information returned by the remote control plane component according to the state detection request.

[0111] The component availability detection unit 402 is configured to analyze the service configuration information returned by the remote control plane component, and determine whether the remote control plane component is available according to the analyzed configuration parameter value; wherein the configuration parameter value is empty or illegal, which represents that the remote control plane component is in an unavailable state.

[0112] In one of the embodiments, the component availability detection unit 402 is further configured to determine whether the local data plane component is available.

[0113] The failover control unit 403 is further configured to, if the local data plane component is in the unavailable state and the remote control plane component is in the available state, remove the local data plane component in the unavailable state from the service mesh, and continue to send the service configuration information to other local data plane components in the available state by using the remote control plane component in the available state.

[0114] In one of the embodiments, the component availability detection unit 402 is further configured to determine whether the local data plane component is available.

[0115] The failover control unit 403 is further configured to, if the remote control plane component is in the unavailable state and the local data plane is in the unavailable state, remove the local data plane component in the unavailable state from the service mesh, and start a local control plane component corresponding to each local data plane component in the available state in the service mesh, so that each local control plane component loads the target version of the service configuration information and sends the target version of the service configuration information to the local data plane component corresponding to the local control plane.

[0116] In one of the embodiments, the state detection request is used to obtain the running state information of the local data plane component; and the response information further includes the running state information returned by the local data plane component according to the state detection request.

[0117] The component availability detection unit 402 is further configured to analyze the running state information returned by the local data plane component, and determine whether the local data plane component is available according to the running state parameter values obtained by the analysis; wherein, when the running state parameter values in the running state information all conform to a preset availability threshold, it indicates that the remote control plane component is in the available state.

[0118] In one of the embodiments, the state detection unit 401 is further configured to send a state detection request to the remote control plane component by using the keep-alive process, and receive response information returned by the remote control plane component according to the state detection request.

[0119] The component availability detection unit 402 is further configured to determine whether the remote control plane component is available according to the response information.

[0120] The fault switching control unit 403 is further configured to replace the start configuration parameter of the local data plane component from the address of the local control plane component to the address of the remote control plane component, and restart the local data plane component to reacquire the service configuration information sent by the remote control plane component, if the duration of the remote control plane component being in the available state reaches a preset threshold.

[0121] In one of the embodiments, the remote control plane component is multiple; each of the local data plane components has a preset configuration corresponding relationship with the multiple remote control plane components.

[0122] The state detection unit 401 is further configured to send a state detection request to the multiple remote control plane components in the service mesh by using a live detection process, and receive response information returned by the multiple remote control plane components according to the state detection request.

[0123] The fault switching control unit 403 is further configured to start the local control plane component to load the service configuration information of the target version, if the multiple remote control plane components corresponding to the local data plane component are all in the unavailable state.

[0124] It should be noted that: the above embodiment provides a service mesh based remote control plane component fault tolerance device in the process of executing remote control plane component fault tolerance processing, only the above-mentioned division of each program module is exemplified, and in actual application, the above-mentioned processing can be completed by different program modules according to the needs, that is, the internal structure of the device is divided into different program modules to complete all or part of the above-mentioned processing. In addition, the service mesh based remote control plane component fault tolerance device and the service mesh based remote control plane component fault tolerance method provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0125] Based on the hardware implementation of the above program modules, and in order to realize the service mesh based remote control plane component fault tolerance method provided in the embodiment of the application, the embodiment of the application further provides a computer device, as shown in the figure, Figure 5 The computer device 500 includes:

[0126] A central processing unit 501, a memory 502 and an input and output interface 503;

[0127] The memory 502 is a transitory storage memory or a persistent storage memory;

[0128] The central processing unit 501 is configured to communicate with the memory 502, and execute the instruction operation in the memory 502 to execute the above-mentioned any one service mesh based remote control plane component fault tolerance method.

[0129] Of course, in practical application, various components in the computer device 500 are coupled together through the bus system 504. It can be understood that the bus system 504 is used to realize the connection and communication between the components. The bus system 504 includes not only a data bus, but also a power supply bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all the buses are marked as the bus system 504 in the Figure 5

[0130] The memory 502 in the embodiment of the present application is used to store various types of data to support the operation of the computer device 500. Examples of the data include any computer program used to operate on the computer device 500.

[0131] It can be understood that the processor in the computer device described above performs the computer program, and also realizes the functions of each unit in the corresponding device embodiment described above, which will not be described here. For example, the computer program can be divided into one or more modules / units, which are stored in the memory and executed by the processor to complete the embodiments of the present application. One or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program in the computer device. For example, the computer program can be divided into the units in the computer device described above, and each unit can realize the specific functions as described above.

[0132] The computer device can be a desktop computer, a notebook computer, a palm computer, and a cloud server, and the like. The computer device can include but is not limited to a processor and a memory. Those skilled in the art can understand that the processor and the memory are only examples of the computer device, and do not constitute a limitation on the computer device, and can include more or fewer components, or combine certain components, or different components, for example, the computer device can also include an input / output device, a network access device, a bus, and the like.

[0133] ​The processor can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The processor is a control center of the computer device, and connects all parts of the computer device through various interfaces and lines.

[0134] The memory can be used to store computer programs and / or modules, and the processor realizes various functions of the computer device by running or executing the computer programs and / or modules stored in the memory, and calling data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application required by a function, etc.; and the data storage area can store data created according to use of the terminal, etc. In addition, the memory can include a high-speed random access memory, and can also include a nonvolatile memory, for example, a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one disk storage device, a flash memory device, or other volatile solid-state memory device.

[0135] The embodiment of the present application further provides a computer readable storage medium, which has a computer program stored thereon, and the computer program is executed by a processor to perform the service mesh based remote control plane component fault tolerance method.

[0136] The embodiment of the present application further provides a computer program product, which has a computer program / instruction stored thereon, and the computer program / instruction is executed by a processor to implement the service mesh based remote control plane component fault tolerance method described in the first aspect or any specific implementation manner of the first aspect.

[0137] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, and will not be described here.

[0138] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. For example, the described device embodiments are merely schematic. The division of the units is merely a logical function division. There can be another division manner for the actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between the units can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.

[0139] The units described as separated components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments of the present application.

[0140] In addition, each functional unit in the embodiments of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be implemented in the form of hardware, or in the form of software functional units.

[0141] When the integrated unit is implemented in the form of software functional units and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such an understanding, the technical solutions of the present application essentially or substantially, or all or part of the technical solutions, can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the embodiments of the present application. The foregoing storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk, and various other media that can store program codes.

Claims

1. A fault-tolerant method for remote control surface components based on service mesh, characterized in that, include: The probe process sends a status probe request to the target component in the service mesh and receives the response information returned by the target component based on the status probe request. The target component includes at least one of the following: a remote control plane component and a local data plane component; Determine whether the remote control surface component is available based on the response information; If the remote control plane component is unavailable, the local control plane component is started to load the service configuration information of the target version and send the service configuration information of the target version to the local data plane component; wherein the local control plane component and the local data plane component are deployed in the same network environment.

2. The method according to claim 1, characterized in that, The method further includes: The local data plane component is controlled to store the service configuration information sent by the remote control plane component when it is in an available state as a historical version of the service configuration information. The process of loading the target version of service configuration information by starting the local control plane component includes: Start the local control plane component to identify and load the service configuration information for the target version from the service configuration information of multiple historical versions.

3. The method according to claim 1, characterized in that, The state probe request is used to subscribe to the service configuration information from the remote control plane component; the response information is the service configuration information returned by the remote control plane component based on the state probe request. Determining whether the remote control plane component is available based on the response information includes: The service configuration information returned by the remote control plane component is parsed, and the availability of the remote control plane component is determined based on the parsed configuration parameter values; wherein, when the configuration parameter value is empty or an invalid value, it indicates that the remote control plane component is in an unavailable state.

4. The method according to claim 1, characterized in that, After sending a state probe request to a target component in the service mesh using the probe process, and receiving response information returned by the target component based on the state probe request, the method further includes: Determine whether the local data plane component is available; If the local data plane component is unavailable and the remote control plane component is available, the unavailable local data plane component is removed from the service mesh, and the available remote control plane component continues to send service configuration information to other available local data plane components.

5. The method according to claim 1, characterized in that, If the remote control plane component is unavailable, the local control plane component is started to load the service configuration information of the target version, and the service configuration information of the target version is sent to the local data plane component, including: Determine whether the local data plane component is available; If the remote control plane component is unavailable and the local data plane is unavailable, then the unavailable local data plane component is removed from the service mesh. For other available local data plane components in the service mesh, start the local control plane component corresponding to each available local data plane component, so that each local control plane component loads the service configuration information of the target version and sends the service configuration information of the target version to the local data plane component corresponding to the local control plane.

6. The method according to claim 4 or 5, characterized in that, The status probe request is used to obtain the running status information of the local data plane component; the response information also includes the running status information returned by the local data plane component according to the status probe request. Determining whether the local data plane component is available includes: The local data plane component returns running status information, and the availability of the local data plane component is determined based on the obtained running status parameter values. The remote control plane component is considered available when all running status parameter values ​​in the running status information meet a preset availability threshold.

7. The method according to claim 1, characterized in that, After controlling the data plane component to connect to the local control plane component to obtain service configuration information issued by the local control plane component, the method further includes: The probe process sends a status probe request to the remote control plane component and receives the response information returned by the remote control plane component based on the status probe request. Determine whether the remote control surface component is available based on the response information; If the duration for which the remote control plane component is available reaches a preset threshold, the startup configuration parameters of the local data plane component are changed from the address of the local control plane component to the address of the remote control plane component, and the local data plane component is restarted to reacquire the service configuration information sent by the remote control plane component.

8. The method according to claim 1, characterized in that, There are multiple remote control plane components; each local data plane component has a preset configuration correspondence with multiple remote control plane components; The process of sending state probe requests to target components in the service mesh using the liveness detection process and receiving response information returned by the target components based on the state probe requests includes: The probe process sends status probe requests to multiple remote control surface components in the service mesh and receives response information returned by the multiple remote control surface components based on the status probe requests. If the remote control plane component is unavailable, the local control plane component is started to load the service configuration information of the target version, including: If all remote control plane components corresponding to the local data plane component are unavailable, then the local control plane component is started to load the service configuration information of the target version.

9. A fault-tolerant device for remote control surface components based on service mesh, characterized in that, include: A state probing unit is used to send state probing requests to target components in the service mesh using a probing process, and to receive response information returned by the target components according to the state probing requests; the target components include at least one of the following: remote control plane components and local data plane components; A component availability detection unit is used to determine whether the remote control surface component is available based on the response information. The fault-switching control unit is used to, if the remote control plane component is unavailable, start the local control plane component to load the service configuration information of the target version, and send the service configuration information of the target version to the local data plane component; wherein the local control plane component and the local data plane component are deployed in the same network environment.

10. A computer device, characterized in that, include: Central processing unit, memory, and input / output interfaces; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it performs the method as described in any one of claims 1 to 8.

12. A computer program product having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it is used to implement the method as described in any one of claims 1 to 8.