Service calling processing method and device of service grid, equipment and storage medium
By introducing global proxy and the second control plane, the resource allocation of the service grid is optimized, and the problem of excessive resource consumption of service grid is solved, and efficient resource utilization and flexible service scheduling are achieved.
Patent Information
- Application Number
- CN202510590587.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-08
- Publication Date
- 2025-07-18
AI Technical Summary
The resource consumption of the service mesh is too high, especially in the control and data planes, resulting in high load and resource waste.
By introducing a global proxy and a second control plane, the frequency and configuration size of the control plane of the service grid are reduced, the request is forwarded to the second service using the global proxy, and the service configuration information is updated by the second control plane, reducing resource consumption of the control plane and data plane.
Reduces resource consumption of the service mesh, reduces resource usage of control planes and data planes, improves resource utilization efficiency, and supports flexible service scheduling by namespace and application level.
Smart Images

Figure CN120343083A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of network services, and particularly to a service call processing method, apparatus, device, non-volatile storage medium, and computer program product for a service mesh. Background Art
[0002] With the development of network service technologies, the technology of service mesh has emerged. Service mesh can be applied to cloud-native application architectures to solve problems related to service calls in microservice architectures, and can be tightly integrated with container technologies, orchestration tools, and cloud-native ecosystems to provide support for the application of microservice architectures in cloud-native environments.
[0003] In related technologies, the control plane of the service mesh is responsible for distributing the configuration information of each service in the service mesh to each service to support the processing of service calls. However, as the scale of the service mesh increases, there will be a technical problem of excessive resource consumption in the service mesh. Summary of the Invention
[0004] Based on this, in view of the above technical problems, it is necessary to provide a service call processing method, apparatus, device, non-volatile storage medium, and computer program product for a service mesh, which can reduce the resource consumption of the control plane and the data plane, achieve the effect of reducing the resource consumption of the service mesh, and solve the technical problem of excessive resource consumption of the service mesh in related technologies.
[0005] In a first aspect, the present application provides a service call processing method for a service mesh, including:
[0006] If the service configuration information of a first service in the service mesh does not include the configuration information for a second service in the service mesh, the first service sends a request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information; the service configuration information is sent from the first control plane of the service mesh to the first service;
[0007] The global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, and sends the call relationship between the first service and the second service to the second control plane of the service mesh; the service configuration information set is sent from the first control plane to the global proxy; the service configuration information set includes the configuration information for each service;
[0008] The second control plane updates the service configuration information according to the call relationship;
[0009] The first control plane sends the updated service configuration information to the first service; wherein, the updated service configuration information includes newly added configuration information for the second service.
[0010] In a second aspect, the present application further provides a service call processing device for a service mesh, including:
[0011] A first sending module, configured to, if the service configuration information of a first service in the service mesh does not include configuration information for a second service in the service mesh, the first service sends a request sent to the second service to the global proxy of the service mesh according to preset configuration information included in the service configuration information; the service configuration information is sent from the first control plane of the service mesh to the first service;
[0012] A second sending module, configured to the global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, and sends the call relationship between the first service and the second service to the second control plane of the service mesh; the service configuration information set is sent from the first control plane to the global proxy; the service configuration information set includes configuration information for each service;
[0013] An update module, configured to the second control plane updates the service configuration information according to the call relationship;
[0014] A third sending module, configured to the first control plane sends the updated service configuration information to the first service; wherein, the updated service configuration information includes newly added configuration information for the second service.
[0015] In a third aspect, the present application further provides a service call processing device for a service mesh, including a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the steps of the above method are implemented.
[0016] In a fourth aspect, the present application further provides a non-volatile storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0017] In a fifth aspect, the present application further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0018] The service call processing method, apparatus, device, non-volatile storage medium, and computer program product of the above service mesh. The first control plane of the service mesh can avoid delivering the configuration information of each service to the first service. When the service configuration information does not include the configuration information of the second service, the first service can send a request to the second service through a global proxy with the configuration information of each service. Moreover, the global proxy can send the call relationship between the first service and the second service to the second control plane of the service mesh. The second control plane can update the service configuration information of the first service accordingly, and the first control plane can send the updated service configuration information to the first service. The updated service configuration information of the first service includes the newly added configuration information for the second service. Thus, when the first service sends a request to the second service again, it can be sent according to the updated service configuration information of the first service. Thereby, it can reduce the distribution frequency and the size of the distributed configuration of the control plane of the service mesh, so as to reduce the resource consumption of the control plane and the data plane, achieving the effect of reducing the resource consumption of the service mesh. Brief Description of the Drawings
[0019] To more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the following will briefly introduce the drawings required for the description in the embodiments of the present application or the related art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.
[0020] Figure 1 It is a schematic framework diagram of a service mesh in the related art;
[0021] Figure 2 It is an application environment diagram of the service call processing method of a service mesh in an embodiment;
[0022] Figure 3 It is a schematic flowchart of the service call processing method of a service mesh in an embodiment;
[0023] Figure 4 It is a schematic diagram of conversion into a service lookup table in an embodiment;
[0024] Figure 5 It is a schematic diagram related to global proxy processing in an embodiment;
[0025] Figure 6 It is a schematic flowchart related to the processing of the second control plane in an embodiment;
[0026] Figure 7 It is a structural block diagram of the service call processing apparatus of a service mesh in an embodiment;
[0027] Figure 8Internal structure diagram of a service call processing device for a service mesh in an embodiment. Detailed implementation manners
[0028] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0029] In the related art, the control plane of the service mesh is responsible for distributing the configuration information of each service in the service mesh to each service to support the processing of service - to - service calls. However, as the scale of the service mesh increases, there will be a technical problem of excessive resource consumption of the service mesh. As Figure 1 shown, Istio is a cloud - native Kubernetes (K8s) microservices management framework. The Istio service mesh can be logically divided into a data plane (data plane) and a control plane (control plane).
[0030] Among them, the data plane can include a group of proxies (with Envoy processes inside) deployed as Proxies. These proxies can be responsible for coordinating and controlling all network communications between microservices (services), and can also collect and report telemetry data of all grid traffic. The control plane (Istiod) can obtain the Istio configuration in the K8s cluster by watching (monitoring) the control plane of Kubernetes (K8s), which can include information related to routing, service destination service sets, load balancing, etc., as well as native Service (services) and Pods (the smallest deployable and manageable computing unit in K8s, which can represent an instance of a service), generate a service mesh for the corresponding service, and distribute relevant configurations to the sidecar proxy of the business Pod to finally realize the control of business container traffic.
[0031] However, when using the Istio service mesh, it is found that the control plane (Istiod) has a high load and consumes a large amount of resources. During business upgrades, the CPU (Central Processing Unit) and mem (memory) usage of the control plane (Istiod) suddenly increases. Metrics such as push ops (push operations), push time (push time), and push trigger (push trigger) also have large fluctuations. Moreover, the CPU and memory occupancy of the sidecar proxy also increase sharply. The sidecar proxy even triggers oom (Out Of Memory, memory shortage or memory exhaustion) due to excessive service configurations consuming a large amount of memory. This is because the pod needs to synchronize the full configuration to become not ready when injecting the sidecar proxy. In a high-concurrency scenario, the sidecar proxy synchronization times out, and the pod probe fails, resulting in continuous pod restarts and causing a large number of service avalanches. Even by horizontally expanding the number of instances of the control plane (Istiod) and optimizing the parameters issued by the control plane (Istiod), a large amount of resources are still consumed.
[0032] In response, the service call processing method of the service mesh provided by the embodiments of the present application can be applied to, for example Figure 2 In the application environment shown, the first control plane of the service mesh does not need to hand over the configuration information of each service to the first service. When the service configuration information does not include the configuration information of the second service, the first service can send a request to the second service through a global proxy with the configuration information of each service. The global proxy can send the call relationship between the first service and the second service to the second control plane of the service mesh. The second control plane can update the service configuration information of the first service accordingly. The first control plane of the service mesh can send the updated service configuration information of the first service to the first service. The updated service configuration information of the first service includes the newly added configuration information for the second service. Thus, when the first service sends a request to the second service again, it can be sent according to the updated service configuration information of the first service. This can reduce the distribution frequency and distribution configuration size of the control plane of the service mesh, thereby reducing the resource consumption of the control plane and the data plane, and achieving the effect of reducing the resource consumption of the service mesh.
[0033] Based on the application environment shown below Figure 2 shown, in combination with each embodiment and the corresponding drawings, the service call processing method of the service mesh of the present application will be described.
[0034] In an exemplary embodiment, as Figure 3 shown, a service call processing method of a service mesh is provided. This method can be applied to a server, which can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The method can include the following steps:
[0035] Step S301: If the service configuration information of the first service in the service mesh does not contain the configuration information for the second service in the service mesh, the first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information. The service configuration information is sent from the first control plane of the service mesh to the first service.
[0036] In this step, the service mesh can be an Istio service mesh. The first service and the second service in the service mesh can be different microservices. The first service in the service mesh can be issued with service configuration information, and this service configuration information can be sent to the first service by the first control plane of the service mesh. Among them, the first control plane of the service mesh can be Istiod, which can be used to monitor information related to each service in the cluster, and thus can also obtain the configuration information of each service in the cluster. The configuration information can include information such as the routing of each service. Among them, the service configuration information sent by the first control plane to the first service may not include the configuration information of each service in the cluster.
[0037] Thus, when the first service in the service mesh needs to send a request to the second service, the first service can determine whether the service configuration information sent by the first control plane contains the configuration information for the second service in the service mesh. If the service configuration information does not contain the configuration information for the second service in the service mesh, the first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information. Among them, the preset configuration information can be included in the service configuration information of each service and is included in the service configuration information when the first control plane sends the service configuration information to each service. Among them, this preset configuration information can be used as a fallback configuration information to route the request to the global proxy of the service mesh when the service configuration information does not contain the configuration information of the relevant service. Based on this, for the first-time accessed service, the first service can route the request to the global proxy of the service mesh for processing according to the preset configuration information included in the service configuration information.
[0038] Step S302: The global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, and sends the call relationship between the first service and the second service to the second control plane of the service mesh. The service configuration information set is sent from the first control plane to the global proxy; the service configuration information set contains the configuration information for each service.
[0039] Among them, the first control plane of the service mesh can send the service configuration information set containing the configuration information for each service to the global proxy in advance. Thus, the global proxy can obtain the configuration information of each service in the cluster according to the service configuration information set, so that the global proxy can forward the request to each service.
[0040] In this step, after receiving the above request (the request sent to the second service) sent by the first service, the global proxy can send the request to the second service according to the configuration information for the second service included in the service configuration information set, thereby completing the forwarding of the request. In addition, the global proxy also sends the call relationship between the first service and the second service to the second control plane of the service mesh. Among them, the second control plane can be a control plane different from the first control plane. The second control plane can also be used for information related to each service in the cluster, and can also be used to update the service configuration information of each service according to information such as the call relationship reported by the global proxy.
[0041] Step S303, the second control plane updates the service configuration information according to the call relationship.
[0042] In this step, the second control plane can update the service configuration information of the first service according to the call relationship between the first service and the second service reported by the global proxy, so that the updated service configuration information of the first service includes the newly added configuration information for the second service of the service mesh.
[0043] Step S304, the first control plane sends the updated service configuration information to the first service. The updated service configuration information includes the newly added configuration information for the second service.
[0044] In this step, the first control plane can obtain the updated service configuration information of the first service according to the monitoring of the cluster, so as to send the updated service configuration information of the first service to the first service. Among them, since the updated service configuration information of the first service includes the newly added configuration information for the second service of the service mesh, when the first service accesses the second service subsequently, it does not need to go through the global proxy and can directly send the request to the second service according to the updated service configuration information of the first service. Therefore, for a service accessed for the first time, the first service can send the request to the second service through the global proxy. After the first access, since the service configuration information of the first service has been updated, in subsequent accesses to this service, the first service can directly send the request to this service according to the updated service configuration information. Therefore, it is not necessary for the first control plane to send the service information of each service to each service every time.
[0045] For the service call processing method of the service mesh in this embodiment, the first control plane of the service mesh does not need to deliver the configuration information of each service to the first service. When the service configuration information does not include the configuration information of the second service, the first service can send a request to the second service through the global proxy with the configuration information of each service, and the global proxy can send the call relationship between the first service and the second service to the second control plane of the service mesh. The second control plane updates the service configuration information of the first service accordingly, and the first control plane sends the updated service configuration information to the first service. The updated service configuration information of the first service includes the newly added configuration information for the second service. Therefore, when the first service sends a request to the second service again, it can be sent according to the updated service configuration information of the first service, thereby reducing the distribution frequency and distribution configuration size of the control plane of the service mesh, reducing the resource consumption of the control plane and the data plane, and achieving the effect of reducing the resource consumption of the service mesh.
[0046] In an exemplary embodiment, the above method may further include:
[0047] If the service configuration information includes the configuration information of the second service, the first service sends a request to the second service according to the configuration information of the second service.
[0048] In this embodiment, the service configuration information of the first service may also include the configuration information of the second service. For example, in the case of having accessed the second service before, the configuration information of the second service may be newly added to the service configuration information of the first service. Thus, when the first service needs to send a request to the second service, if the service configuration information of the first service includes the configuration information of the second service, the first service can send the request to the second service according to the configuration information of the second service. The solution of this embodiment can directly send the request from the first service to the second service when the service configuration information includes the configuration information of the second service, without going through the processing of the global proxy, and can reduce the processing pressure of the global proxy in cases such as after the first access.
[0049] In an exemplary embodiment, for the second control plane in step S303 to update the service configuration information according to the call relationship, it may include:
[0050] The second control plane updates the egress service list of the first service according to the call relationship, and updates the service configuration information according to the updated egress service list of the first service.
[0051] In this embodiment, the second control plane may update the service configuration information of the first service according to the update of the egress service list of the first service. The egress service list of the first service is a list of the egress services of the first service. The egress service may be a service within the service mesh that the first service may access, and may include external services relied on by the first service, etc. Thus, the second control plane may update the egress service list of the first service according to the call relationship between the first service and the second service, and update the service configuration information of the first service according to the updated egress service list of the first service, so that the updated service configuration information of the first service newly includes the configuration information for the second service. Thus, the second control plane may update the egress service list of the first service according to the call relationship reported by the global proxy each time the first service calls a new service, and then update the service configuration information of the first service, so that the first service can directly send a request according to the updated service configuration information of the first service when calling the service again.
[0052] In an exemplary embodiment, the above-mentioned second control plane updating the egress service list of the first service according to the call relationship may include the following steps:
[0053] The second control plane listens to the service information of each service in the cluster through the control plane of the cluster, converts the service information of each service in the cluster into multiple service lookup tables, and updates the egress service list of the first service based on the multiple service lookup tables and the call relationship.
[0054] In this embodiment, in combination with Figure 4, the second control plane can listen to the service information of each service in the cluster through the control plane of the cluster. Among them, the service information can include the information of various resources in the cluster, and these resources can include services such as Service, Endpoint, Pod (instance of the service), VirtualService, and so on. Since different client implementations may handle the source and target addresses of requests in different ways. For example, for different versions of clients, some will retain the domain name of the target service (such as "serviceA.default.svc.cluster.local") as the host address host, and some will use the VIP (Virtual IP Address) of the target service as the host address host. And for example, the egress service list of the Istio service mesh may only accept the domain name of the target service as the host address. Therefore, the second control plane can listen to the service information of each service in the cluster through the control plane of the cluster, obtain the service information of each service in the cluster, and convert the service information of each service in the cluster into multiple service lookup tables (such as service lookup tables 1 to N, etc.). Thus, the AccessLogService of the second control plane can quickly find the service lookup table associated with the source and target addresses corresponding to the call relationship in multiple service lookup tables, and can obtain the configuration information of the relevant services from it to update the egress service list of the first service, and can implement the query and parsing of the source and target services of the requests of the old and new version clients and the update of the egress service list.
[0055] For multiple service lookup tables, as an example, it can include:
[0056] HttpServices table: The second control plane can listen to all services (services without a declared Transmission Control Protocol (TCP) port) in the Kubernetes cluster to obtain all valid Http services, and update the corresponding service information in other lookup tables by listening to the add, delete, query, and modify events of the services.
[0057] TcpServices table: The second control plane can listen to all services (services with a declared TCP port in the Kubernetes cluster. If the global proxy cannot handle TCP traffic, all TCP services can be considered visible by default) in the Kubernetes cluster.
[0058] PodToServices table: The second control plane can listen to all endpoints in the Kubernetes cluster to obtain the mapping table from all instance Internet Protocol addresses (PodIp) to the corresponding services.
[0059] VipToService Table: The second control plane can obtain the mapping table of all Service VIPs (Service Virtual IPs) (Cluster IPs, cluster IPs) to the corresponding services by listening to all services within the Kubernetes cluster.
[0060] ServiceToServices Table: The second control plane can obtain the mapping table of all the same routing domains (all services that can be routed to within the same virtual service VirtualService) to the corresponding services by listening to all virtual services VirtualServices (generally used in Istio to set up multi-routing to the corresponding target services) within the Kubernetes cluster. For example, if service A accesses B, services C and D in the same routing domain as service B may also be accessed by service A.
[0061] In an exemplary embodiment, the above-mentioned second control plane updating the egress service list of the first service may include:
[0062] The second control plane updates the egress service list of the first service according to the call relationship and the pre-configured static egress service list.
[0063] In this embodiment, the pre-configured static egress service list can be used to represent the egress services that the first service needs to access, which are pre-configured by the user. Specific annotations can be added to these egress services to maintain their static egress service list Static-Hosts without affecting the original architecture. Thus, the second control plane can update the egress service list of the first service according to the call relationship between the first service and the second service and the pre-configured static egress service list, so that the updated egress service list of the first service can include the second service and the relevant information of the egress services that the user pre-configured for the first service to access in the static egress service list. Specifically, before updating the egress service list of the first service, the egress service list of the first service may or may not include the static egress service list. Among them, when the static egress service list is included, the second control plane can update the egress service list of the first service according to whether the static egress service list is updated by the user and the call relationship. If the static egress service list is not updated by the user, the second control plane can update the egress service list of the first service according to the call relationship, so that the updated egress service list of the first service can include the second service and the relevant information of the egress services that the user pre-configured for the first service to access in the static egress service list; if the static egress service list is updated by the user, the second control plane can update the egress service list of the first service according to the call relationship and the updated static egress service list, so that the updated egress service list of the first service can include the second service and the relevant information of the egress services that the user pre-configured for the first service to access in the static egress service list. In addition, when the static egress service list is not included, the second control plane can update the egress service list of the first service according to the static egress service list and the call relationship, so that the updated egress service list of the first service can include the second service and the relevant information of the egress services that the user pre-configured for the first service to access in the static egress service list.
[0064] Thus, the solution of this embodiment can facilitate the user to pre-configure the egress services that the first service needs to access for some services that are sensitive to latency and have a relatively large request volume, so that the configuration information of the corresponding egress services can be obtained during service initialization, improving the efficiency of service call processing.
[0065] In an exemplary embodiment, the first service in step S301 sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information, which may include the following steps:
[0066] The first service adds the identification information of the second service to the identification information field of the request header of the request, and sends the request with the added identification information to the global proxy according to the preset configuration information included in the service configuration information.
[0067] In this embodiment, in combination with Figure 5 , when the first service sends a request to the second service for the first time, the identification information of the second service can be added to the identification information field of the request header of the request. Then, the first service can send the request with the added identification information to the global proxy according to the preset configuration information included in the service configuration information. Among them, the identification information of the second service can be the information used to identify the second service, and the identification information field of the request header (header) is the field used to set the identification information of the second service.
[0068] In this embodiment, the proxy (Proxy) in the instance (Pod A1) of the first service can mark the identification information of its original target service (the second service) in the identification information field of the request header (http header). Since the first service does not have the configuration information of the second service, the proxy (Proxy) in the instance (Pod A1) of the first service sends the first request to the global proxy according to the preset configuration information included in the service configuration information.
[0069] In an exemplary embodiment, the global proxy in step S302 sending the request to the second service according to the configuration information of the second service included in the service configuration information set may include:
[0070] The global proxy determines the configuration information of the second service included in the service configuration information set according to the identification information of the second service included in the request, updates the address information field of the request header according to the configuration information, and sends the updated request to the second service.
[0071] In this embodiment, after the request of the first service is sent to the global proxy, the request will become the global proxy. As Figure 5 shown, the global proxy can include a global proxy container (Global Proxy) and a sidecar proxy container (Proxy). The global proxy container can be used to forward the target service (the second service) according to the request header. The sidecar proxy container can have the configuration information of each service in the cluster. The sidecar proxy container can successfully route the request of the global proxy container to the target service (the second service), and the global proxy container can send the service access log including the call relationship between the first service and the second service to the second control plane.
[0072] In this embodiment, the global proxy can determine the configuration information for the second service included in the service configuration information set according to the identification information in the identification information field of the request header (used to mark the second service), and then update the address information field of the request header of the request according to the configuration information, and send the updated request to the second service. Specifically, the global proxy container of the global proxy can forward the request to the second service according to the address information field of the request header http header, and the address of the first service (which can be the address of an instance of the first service) can be retained as the client address during forwarding. The sidecar proxy container of the global proxy can determine the configuration information for the second service included in the service configuration information set according to the identification information, update the address information field (which can be the "authority" field) of the request header of the request according to the configuration information, and send the updated request to the second service.
[0073] In an exemplary embodiment, after the global proxy in step S302 sends the request to the second service according to the configuration information for the second service included in the service configuration information set, the above method may further include: the second service sends the response of the request to the first service.
[0074] In this embodiment, after the first request of the first service arrives at the second service, the address of the first service can be retained in the request as the client address. Thus, the second service can send the response of the request to the first service based on this, without passing through the global proxy again, which can reduce the processing pressure on the global proxy.
[0075] In an exemplary embodiment, before the global proxy in step S302 sends the request to the second service according to the configuration information for the second service included in the service configuration information set, the above method may further include:
[0076] The first control plane listens to the service information of each service in the cluster through the control plane of the cluster to obtain the service configuration information set, and sends the service configuration information set to the global proxy.
[0077] In this embodiment, as Figure 2As shown, the first control plane (Istiod) can listen to the service information of each service in the Kubernetes cluster through the control plane of the Kubernetes cluster. The service information may include services, service instances, sidecars (a configuration used to inform the first control plane which configurations of target services need to be issued for corresponding services such as service A), and Envoy filters (a dynamic configuration used to inform the data plane how to process requests such as header processing, routing, etc.). Thus, the first control plane can obtain the configuration information of each service in the cluster and obtain a service configuration information set based on the configuration information of each service in the cluster. Then, the first control plane can send the service configuration information set to the sidecar proxy container of the global proxy, so that the global proxy can obtain the configuration information of each service in the cluster to process and forward requests.
[0078] In an exemplary embodiment, before the first service in the service mesh sends a request to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information if the service configuration information of the first service in the service mesh does not include the configuration information for the second service in the service mesh in step S301, the above method may further include the following steps:
[0079] The second control plane generates preset service configuration information for the first service; the preset service configuration information includes preset configuration information; the first control plane sends the preset service configuration information to the first service.
[0080] In this embodiment, in combination with Figure 2 , the second control plane can listen to the service information of each service in the cluster through the control plane of the cluster. The service information may include the above-mentioned services, sidecars, Envoy filters, etc. The second control plane can generate preset service configuration information for the first service. The preset service configuration information may include the sidecar configuration of the first service and the Envoy filter configuration of the first service. The Envoy filter configuration may include preset configuration information, and the preset configuration information may be used as a fallback route to the global proxy. Thus, the first control plane can send the preset service configuration information generated by the second control plane to the first service.
[0081] Based on this, in combination with Figure 6, after the second control plane generates preset service configuration information for the first service, the first control plane can send the preset service configuration information to the first service. At this time, the preset service configuration information may not include the configuration information of the second service. Therefore, when the first service accesses the second service for the first time, it will be forwarded by the global proxy. The global proxy can also send the call relationship between the first service and the second service to the access log service of the second control plane through the envoy grpc accesslog interface (a set of mechanisms and APIs for controlling and customizing how envoy records grpc request-related access logs) with the help of the access log. That is, when the first service accesses an unknown service for the first time, the request can be routed to the global proxy. The global proxy container of the global proxy can report the call relationship to the second control plane for processing through the envoy grpc accesslog interface. For the access log reported by the global proxy by the access log service of the second control plane, by parsing the source and target service information of the log, the corresponding service lookup table can be found, and the new egress service list of the corresponding source service can be obtained, which can include the list of services within the service mesh that the service may access. The new service configuration information of the first service (which can include the new sidecar configuration and envoy filter configuration of the first service) can be generated according to the egress service list. Thus, the first control plane can send the updated service configuration information of the first service to the first service, and the service configuration information at this time may include the configuration information of the second service.
[0082] In an exemplary embodiment, the first service belongs to the services in the target service list; each service in the target service list corresponds to a tag indicating the target state; the tag includes a namespace tag and / or a service tag; the tag indicating the target state includes: a service tag indicating the first state, or, in the case where the service tag is missing, a namespace tag indicating the first state.
[0083] As an implementation, the namespace can be labeled, and the label can indicate the first state and the second state. The first state can represent on, and the second state can represent off, that is, the label can include a namespace tag. As another implementation, the service can be labeled, which can also indicate the first state and the second state. The first state can represent on, and the second state can represent off, that is, the label can include a service tag. As yet another implementation, the namespace and the service can be labeled separately, and the first state and the second state of the namespace and the service can be indicated separately. The first state can represent on, and the second state can represent off, that is, the label can include a namespace tag and a service tag. Thus, the label can include a namespace tag and / or a service tag.
[0084] Accordingly, each service in the target service list corresponds to a marker indicating the target state. The marker indicating the target state may include: a service marker indicating the first state, or, in the case where the service marker is default, a namespace marker indicating the first state. That is, a service with a service marker indicating activation can be maintained in the target service list; a service with a default service marker and a namespace marker indicating activation can also be maintained in the target service list.
[0085] For each service in the target service list, the service call processing method of the service mesh of the present application can be adopted for processing. When accessing an unknown second service for the first time, it can be forwarded through a global proxy, and when accessing subsequently, the second service can be directly accessed according to the service configuration information. In this embodiment, the first service belongs to the services in the target service list.
[0086] For a service not maintained in the target service list, the first control plane can send the service configuration information set to the service for the service to send relevant requests by itself according to the service configuration information set.
[0087] Regarding whether it is maintained in the target service list:
[0088] As an implementation manner, if it has a service marker indicating the first state, it can be maintained in the target service list. As another implementation manner, if it has a service marker indicating the second state, it can not be maintained in the target service list; as yet another implementation manner, if the service marker is default and has a namespace marker indicating the second state or the namespace marker is also default, it can not be maintained in the target service list; as still another implementation manner, if the service marker is default and has a namespace marker indicating the first state, it can be maintained in the target service list.
[0089] The solution of this embodiment can support maintaining the target service list, realizing flexible inter-service scheduling processing according to the namespace or application level. The second control plane can listen to the labels of the namespace and the service, update the target service list, and tune the corresponding service configuration information, and finally realize flexible inter-service scheduling processing according to the namespace or application level.
[0090] In an exemplary embodiment, the above method may further include the following steps:
[0091] The first service processes the target request sent to the target service according to the preset rules included in the service configuration information. The preset rules include a pass-through cluster rule and / or a predefined routing rule.
[0092] In this embodiment, the first service may also process the target request sent to the target service according to the preset rules contained in the service configuration information. The preset rules may include passthrough cluster rules and / or predefined routing rules. The passthrough cluster rules are a kind of bottom-up routing rules, and the request can be directly forwarded to the original target address without going through various traffic controls of the envoy process. The predefined routing rules may be routing rules pre-set by the user.
[0093] For the transparent cluster rules, since the services of the service grid may access a variety of target services outside the cluster (outside the service grid), which can be called out-of-domain traffic, these out-of-domain traffic will still adopt the transparent cluster rules even if they go through the global proxy, and after the access log reaches the second control plane, since the service lookup table cannot find the corresponding service, it is impossible to generate the corresponding export service list, which will increase the burden on the second control plane. Therefore, the solution of this embodiment can directly configure the transparent cluster rules in the service configuration information of the first service, so that the transparent cluster rules can be directly implemented at the proxy of the first service. In this regard, an out-of-domain service lookup table ServiceEgressDomains can be maintained, which can store the out-of-domain service list corresponding to each service. When there is traffic that meets the following rules in the access log, the corresponding out-of-domain service can be placed in the corresponding out-of-domain service list in the cluster: the service lookup table cannot find the corresponding target service, the upstream cluster UpstreamCluster in the access log is not a transparent cluster, etc.
[0094] In this embodiment, whenever the service configuration information of the corresponding service is updated, the transparent transmission cluster rules of the out-of-domain service list corresponding to the service can be merged, and new service configuration information can be generated according to the latest export service list. Therefore, when the corresponding out-of-domain traffic is accessed next time, the request can be directly handed over to the transparent transmission cluster rules for processing at the proxy of the first service.
[0095] For predefined routing rules, some services need to customize routing rules for specific services, such as forwarding some out-of-domain traffic to services within certain clusters, or customizing traffic processing for identifying traffic that is not out-of-domain traffic but traffic within the service grid, etc. Therefore, you can maintain your custom routing rules by adding specific annotations to the service without affecting the original architecture. As an example, the custom routing rules can be defined as shown in Table 1 below:
[0096] Table 1
[0097]
[0098] In one embodiment, a service call processing method for a service mesh is further provided. This method is described based on the Istio service mesh, in combination with Figure 2 :
[0099] It is assumed that Istiod (the first control plane of the Istio service mesh), the global proxy, and the second control plane have been deployed.
[0100] First, the first control plane (Istiod) can listen to the service information of each service in the Kubernetes cluster through the control plane of the Kubernetes cluster. The service information can include services, service instances, sidecars, and envoy filters. Thus, the first control plane can obtain the configuration information of each service in the cluster and obtain a service configuration information set based on the configuration information of each service in the cluster. Then, the first control plane can send the service configuration information set to the sidecar proxy container of the global proxy, so that the global proxy can obtain the configuration information of each service in the cluster to process and forward requests.
[0101] In addition, the second control plane can listen to the service information of each service in the cluster through the control plane of the cluster. The service information can include the above-mentioned services, sidecars, envoy filters, etc. The second control plane can generate preset service configuration information for the first service. The preset service configuration information can include the sidecar configuration of the first service and the envoy filter configuration of the first service. The envoy filter configuration can include preset configuration information, and the preset configuration information can be used as a fallback route to the global proxy. Thus, the first control plane can send the preset service configuration information generated by the second control plane to the first service.
[0102] Then, the proxy in the instance (Pod A1) of the first service can mark the identification information of its original target service (the second service) in the identification information field of the request header http header. Since the first service does not have the configuration information of the second service, the proxy in the instance (Pod A1) of the first service sends the first request to the global proxy according to the preset configuration information included in the service configuration information.
[0103] After the request for the first service is sent to the global proxy, the request will be processed by the global proxy. The global proxy can determine the configuration information for the second service included in the service configuration information set based on the identification information (used to mark the second service) in the identification information field of the request header, and then update the address information field of the request header of the request according to the configuration information, and send the updated request to the second service. Specifically, the global proxy container of the global proxy can forward the request to the second service according to the address information field of the request header httpheader, and the address of the first service (which can be the address of an instance of the first service) can be retained as the client address during forwarding. The sidecar proxy container of the global proxy can determine the configuration information for the second service included in the service configuration information set according to the identification information, update the address information field (which can be the "authority" field) of the request header of the request according to the configuration information, and send the updated request to the second service.
[0104] Thus, the first request from the first service to the second service reaches the second service. After the first request from the first service reaches the second service, the address of the first service can be retained as the client address in the request, and thus the second service can send the response to the request to the first service based on this.
[0105] In this embodiment, the global proxy can also send the call relationship between the first service and the second service to the access log service of the second control plane through the envoy grpc accesslog interface with the help of the access log.
[0106] For the access log reported by the global proxy, the access log service of the second control plane can look up the corresponding service lookup table by parsing the log source and target service information, obtain the new egress service list of the corresponding source service, which can include the list of services within the service mesh that the service may access, and generate the new service configuration information for the first service (which can include the new sidecar configuration and envoy filter configuration of the first service). Thus, the first control plane can send the updated service configuration information of the first service to the first service, and the service configuration information at this time can include the configuration information of the second service.
[0107] Thus, after the first access, since the service configuration information of the first service has been updated, in subsequent accesses to this service, the first service can directly send the request according to the updated service configuration information.
[0108] In this embodiment, it is also possible to support maintaining a target service list to achieve flexible inter-service scheduling processing at the namespace or application level. The namespace can be marked, and the mark can indicate a first state and a second state. The first state can indicate being enabled, and the second state can indicate being disabled. Services can also be marked, which can also indicate a first state and a second state. The first state can indicate being enabled, and the second state can indicate being disabled. Thus, each service in the target service list corresponds to a mark indicating the target state. The mark indicating the target state can include: a service mark indicating the first state, or, in the case where the service mark is missing, a namespace mark indicating the first state. That is, a service with a service mark indicating being enabled can be maintained in the target service list; a service with a missing service mark and a namespace mark indicating being enabled can also be maintained in the target service list. For each service in the target service list, the service call processing method of the service mesh of the present application can be adopted for processing. When accessing an unknown second service for the first time, it can be forwarded through a global proxy, and when accessing subsequently, the second service can be directly accessed according to the service configuration information. The first service belongs to the services in the target service list. For services not maintained in the target service list, the first control plane can send the service configuration information set to the service for the service to send relevant requests by itself according to the service configuration information set.
[0109] In this embodiment, the second control plane can listen to the service information of each service in the cluster through the control plane of the cluster to obtain the service information of each service in the cluster, and convert the service information of each service in the cluster into multiple service lookup tables (such as service lookup table 1 to N, etc.). Thus, the access log service of the second control plane can quickly find in the multiple service lookup tables the service lookup table associated with the source and target addresses corresponding to the call relationship, and can obtain the configuration information of the relevant service from it to update the egress service list of the first service, and can achieve the query and parsing of the source and target services of the old and new version client requests and the update of the egress service list.
[0110] In this embodiment, the second control plane can also update the egress service list of the first service according to the call relationship and the pre-configured static egress service list. The pre-configured static egress service list can be used to represent the egress services that need to be accessed by the first service pre-configured by the user. Specific annotations can be added to these egress services without affecting the original architecture to maintain their static egress service lists. Thus, the second control plane can update the egress service list of the first service according to the call relationship between the first service and the second service and the pre-configured static egress service list, so that the updated egress service list of the first service can include the second service and the relevant information of the egress services pre-configured by the user that the first service needs to access included in the static egress service list. Thus, the egress service list of the first service can include egress services feedback based on proxy logs, static egress services, and same-routing domain services found through various service lookup tables, etc.
[0111] In this embodiment, the first service can also process the target request sent to the target service according to the preset rules included in the service configuration information. The preset rules can include pass-through cluster rules and / or predefined routing rules. For the pass-through cluster rules, since the services in the service mesh may access various target services outside the cluster (outside the service mesh), which can be called off-domain traffic, even if this off-domain traffic goes through the global proxy, the pass-through cluster rules will still be adopted. After the access logs reach the second control plane, since the service lookup table cannot find the corresponding service, the corresponding egress service list cannot be generated, which will increase the burden on the second control plane. Therefore, the solution of this embodiment can directly configure the pass-through cluster rules in the service configuration information of the first service, so that the pass-through cluster rules can be directly taken at the proxy of the first service. Whenever the service configuration information of the corresponding service is updated, the pass-through cluster rules of the off-domain service list corresponding to the service can be merged, and new service configuration information can be generated according to the latest egress service list. Thus, when accessing the corresponding off-domain traffic next time, the request can be directly handed over to the pass-through cluster rules for processing at the proxy of the first service. For the predefined routing rules, since some services need to customize the routing rules to specific services, such as forwarding some off-domain traffic to some services within the cluster, or customizing the processing of some traffic that is identified as in-domain traffic instead of off-domain traffic, etc., specific annotations can be added to the services without affecting the original architecture to maintain their custom routing rules.
[0112] The solution of this embodiment can support reducing the control plane's frequency of issuing configurations and the size of issued configurations, thereby reducing the resource consumption of the central processing unit (CPU) and memory of the control plane, reducing the resource consumption of the CPU and memory of the data plane, reducing the control plane's service issuing frequency and issuing delay by one order of magnitude, increasing the upper limit of the data plane's security scale, reducing the CPU spikes generated by the control plane and data plane due to frequent configuration changes, reducing the memory consumption of the data plane caused by loading a large amount of configuration information that it doesn't care about itself and a large amount of service telemetry, and realizing a flexible service access processing method at the namespace and application levels.
[0113] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence according to the arrows, these steps do not necessarily have to be executed in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages do not necessarily have to be executed at the same time, but can be executed at different times. The execution order of these steps or stages does not necessarily have to be sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0114] Based on the same inventive concept, the embodiments of the present application also provide a service call processing device for a service mesh for implementing the service call processing method of the service mesh involved above. The solution for solving problems provided by this device is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the service call processing device for the service mesh provided below can refer to the limitations on the service call processing method for the service mesh in the above text, and will not be repeated here.
[0115] In an exemplary embodiment, as Figure 7 shown, a service call processing device for a service mesh is provided. The device 700 may include:
[0116] A first sending module 701, configured to, if the service configuration information of the first service in the service mesh does not include the configuration information for the second service in the service mesh, then the first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information; the service configuration information is sent from the first control plane of the service mesh to the first service;
[0117] A second sending module 702, configured to send the request to the second service by the global proxy according to the configuration information for the second service included in the service configuration information set, and send the call relationship between the first service and the second service to the second control plane of the service mesh; the service configuration information set is sent by the first control plane to the global proxy; the service configuration information set includes configuration information for each service;
[0118] An update module 703, configured to update the service configuration information by the second control plane according to the call relationship;
[0119] A third sending module 704, configured to send the updated service configuration information by the first control plane to the first service; wherein, the updated service configuration information includes newly added configuration information for the second service.
[0120] In an exemplary embodiment, the first sending module 701 is further configured to, if the service configuration information includes the configuration information for the second service, the first service sends the request to the second service according to the configuration information for the second service.
[0121] In an exemplary embodiment, the update module 703 is configured to update the egress service list of the first service by the second control plane according to the call relationship, and update the service configuration information according to the updated egress service list of the first service.
[0122] In an exemplary embodiment, the update module 703 is configured to listen to the service information of each service in the cluster by the control plane of the cluster by the second control plane, convert the service information of each service in the cluster into multiple service lookup tables, and update the egress service list of the first service based on the multiple service lookup tables and the call relationship.
[0123] In an exemplary embodiment, the update module 703 is configured to update the egress service list of the first service by the second control plane according to the call relationship and a pre-configured static egress service list.
[0124] In an exemplary embodiment, the first sending module 701 is configured to add the identification information of the second service to the identification information field of the request header of the request by the first service, and send the request with the added identification information to the global proxy according to the preset configuration information included in the service configuration information.
[0125] In an exemplary embodiment, the second sending module 702 is configured to determine, by the global proxy, the configuration information for the second service included in the service configuration information set according to the identification information of the second service included in the request, update the address information field of the request header of the request according to the configuration information, and send the updated request to the second service.
[0126] In an exemplary embodiment, the apparatus 700 may further include: a fourth sending module, configured to send, by the second service, the response of the request to the first service.
[0127] In an exemplary embodiment, the third sending module 704 is further configured to listen, by the first control plane, to the service information of each service in the cluster through the control plane of the cluster to obtain the service configuration information set, and send the service configuration information set to the global proxy.
[0128] In an exemplary embodiment, the apparatus 700 may further include: a configuration preprocessing module, configured to generate, by the second control plane, preset service configuration information for the first service; the preset service configuration information includes the preset configuration information; and the first control plane sends the preset service configuration information to the first service.
[0129] In an exemplary embodiment, the first service belongs to the services in the target service list; each service in the target service list corresponds to a marker indicating the target state; the marker includes a namespace marker and / or a service marker; the marker indicating the target state includes: a service marker indicating the first state, or, in the case where the service marker is absent, a namespace marker indicating the first state.
[0130] In an exemplary embodiment, the first sending module 701 is further configured to process, by the first service, a target request sent to a target service according to a preset rule included in the service configuration information; the preset rule includes a pass-through cluster rule and / or a predefined routing rule.
[0131] Each module in the service call processing apparatus of the above service mesh may be implemented in whole or in part by software, hardware, and their combination. The above modules may be embedded in the processor of the service call processing device of the service mesh in hardware form or independent of it, or stored in the memory of the service call processing device of the service mesh in software form, so that the processor can call and execute the operations corresponding to the above respective modules.
[0132] In an exemplary embodiment, there is provided a service call processing device of a service mesh. The service call processing device of the service mesh may be a server, and its internal structure diagram may be as Figure 8As shown. The service call processing device of the service mesh includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the service call processing device of the service mesh is used to provide computing and control capabilities. The memory of the service call processing device of the service mesh includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the service call processing device of the service mesh is used to store data such as service configuration information. The input / output interface of the service call processing device of the service mesh is used to exchange information between the processor and external devices. The communication interface of the service call processing device of the service mesh is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements a service call processing method for a service mesh.
[0133] Those skilled in the art can understand that Figure 8 the structure shown in is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the service call processing device of the service mesh to which the solution of this application is applied. The specific service call processing device of the service mesh may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0134] In one embodiment, a service call processing device for a service mesh is further provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.
[0135] In one embodiment, a non-volatile storage medium is provided, on which a computer program is stored, and when the computer program is executed by the processor, the steps in the above method embodiments are implemented.
[0136] In one embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by the processor, the steps in the above method embodiments are implemented.
[0137] 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 for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.
[0138] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in the present application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, artificial intelligence (AI) processors, etc., without limitation.
[0139] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in the present application.
[0140] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.
Claims
1. A service call processing method for a service mesh, characterized in that The method includes: If the service configuration information of the first service in the service mesh does not include the configuration information for the second service in the service mesh, the first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information; the service configuration information is sent from the first control plane of the service mesh to the first service; The global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, and sends the call relationship between the first service and the second service to the second control plane of the service mesh; the service configuration information set is sent from the first control plane to the global proxy; the service configuration information set includes the configuration information for each service; The second control plane updates the service configuration information according to the call relationship; The first control plane sends the updated service configuration information to the first service; wherein, the updated service configuration information includes the newly added configuration information for the second service.
2. The method according to claim 1, wherein The method further includes: If the service configuration information includes the configuration information for the second service, the first service sends the request to the second service according to the configuration information for the second service.
3. The method according to claim 1, wherein The second control plane updates the service configuration information according to the call relationship, including: The second control plane updates the egress service list of the first service according to the call relationship, and updates the service configuration information according to the updated egress service list of the first service.
4. The method according to claim 3, wherein The second control plane updates the egress service list of the first service according to the call relationship, including: The second control plane listens to the service information of each service in the cluster through the control plane of the cluster, converts the service information of each service in the cluster into multiple service lookup tables, and updates the egress service list of the first service based on the multiple service lookup tables and the call relationship.
5. The method according to claim 3, characterized in that The second control plane updates the egress service list of the first service according to the call relationship, including: The second control plane updates the egress service list of the first service according to the call relationship and the pre-configured static egress service list.
6. The method according to claim 1, characterized in that The first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information, including: The first service adds the identification information of the second service to the identification information field of the request header of the request, and sends the request with the added identification information to the global proxy according to the preset configuration information included in the service configuration information.
7. The method according to claim 1, characterized in that The global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, including: The global proxy determines the configuration information for the second service included in the service configuration information set according to the identification information of the second service included in the request, updates the address information field of the request header of the request according to the configuration information, and sends the updated request to the second service.
8. The method according to claim 1, wherein After the global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, the method further includes: The second service sends the response of the request to the first service.
9. The method according to claim 1, wherein Before the global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, the method further includes: The first control plane listens to the service information of each service in the cluster through the control plane of the cluster to obtain the service configuration information set, and sends the service configuration information set to the global proxy.
10. The method according to claim 1, wherein Before, if the service configuration information of the first service in the service mesh does not include the configuration information for the second service in the service mesh, the first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information, the method further includes: The second control plane generates preset service configuration information for the first service; the preset service configuration information includes the preset configuration information; The first control plane sends the preset service configuration information to the first service.
11. The method according to claim 1, characterized in that, The first service belongs to the services in the target service list; each service in the target service list corresponds to a mark indicating the target state; The mark includes a namespace mark and / or a service mark; The mark indicating the target state includes: a service mark indicating the first state, or, in the case where the service mark is missing, a namespace mark indicating the first state.
12. The method according to any one of claims 1 to 11, characterized in that, The method further includes: The first service processes the target request sent to the target service according to the preset rules included in the service configuration information; the preset rules include a pass-through cluster rule and / or a predefined routing rule.
13. A service call processing device for a service mesh, characterized in that, The device includes: A first sending module, configured to, if the service configuration information of the first service in the service mesh does not include the configuration information for the second service in the service mesh, the first service sends the request sent to the second service to the global proxy of the service mesh according to the preset configuration information included in the service configuration information; the service configuration information is sent to the first service by the first control plane of the service mesh; A second sending module, configured to the global proxy sends the request to the second service according to the configuration information for the second service included in the service configuration information set, and sends the call relationship between the first service and the second service to the second control plane of the service mesh; the service configuration information set is sent to the global proxy by the first control plane; the service configuration information set includes the configuration information for each service; An update module, configured to update the service configuration information by the second control plane according to the call relationship; A third sending module, configured to send the updated service configuration information by the first control plane to the first service; wherein, the updated service configuration information includes the newly added configuration information for the second service.
14. A service call processing device for a service mesh, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.
15. A non-volatile storage medium, on which a computer program is stored, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 12 are implemented.
16. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 12 are implemented.