Distributed Service Mesh Routing for Multi-Cluster Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current service mesh technologies are limited to local deployments and lack adaptive, dynamic routing mechanisms that can account for the availability of service instances and network state in distributed communication infrastructures, leading to inefficiencies in traffic management across remote clusters.
Innovation Solution
A distributed service routing agent is introduced, which extends the control plane across clusters to dynamically manage traffic by discovering service instances, collecting metadata, and configuring proxies based on network and service performance metrics, enabling adaptive and resilient end-to-end communication between distributed clusters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If service mesh technology is used for local deployments, then service routing control is achieved, but the system lacks adaptive routing mechanisms for distributed clusters
Solution Approach 1:
The system segments the service mesh control plane into distributed components across multiple clusters. Each cluster has its own service mesh controller that independently manages local service instances, while a control plane extension mechanism enables cross-cluster service discovery and routing without requiring a centralized controller, thus achieving adaptability while managing complexity through modular segmentation.
Solution Approach 2:
The patent extends the service mesh control plane from a single-cluster dimension to a multi-cluster dimensional architecture. By adding the dimension of inter-cluster communication and using lightweight extension mechanisms (such as service export/import functionalities), the system achieves adaptive routing across distributed clusters without proportionally increasing overall system complexity.
2Reliability
If centralized control is used to manage distributed clusters, then service routing coordination is improved, but information exchange volume increases
Solution Approach 1:
The patent extracts the essential control functions from a centralized controller and distributes them to local service mesh controllers in each cluster. Only critical coordination information (such as service registration and routing policies) is exchanged through the control plane extension, while detailed service management remains local, thus maintaining routing coordination reliability while minimizing information exchange volume.
Solution Approach 2:
Each cluster's service mesh controller independently performs service discovery, instance management, and routing decisions for local services. The controllers autonomously handle service registration and update their local routing tables without requiring continuous centralized coordination, enabling self-service operation that reduces dependency on centralized control and minimizes information exchange.
3Adaptability or versatility
If service instances are distributed across remote clusters, then service availability is improved, but routing decision complexity increases
Solution Approach 1:
The system performs preliminary service registration and discovery actions through the control plane extension before actual service requests are made. Service instances pre-register themselves with the extended control plane, which builds routing tables and service maps in advance. When service requests occur, the distributed service mesh controllers can make routing decisions based on pre-computed information, reducing real-time routing decision complexity while maintaining high service availability across remote clusters.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This infrastructure includes a data plane, consisting of first and second clusters of machines connected by a network, the first cluster, respectively the second cluster, providing a service (151, 161) equipped with a communication proxy (152, 162), and a control plane, consisting, for each cluster, of a local service mesh, which includes a local controller (13, 23), to configure the local proxy or each local proxy of the cluster, and a local service routing agent (14, 24), to: discover the services running on the cluster by querying the local controller; send and receive advertisement messages with the local agents of the other clusters in order to share the services discovered on the different clusters; determine a traffic distribution policy for each local proxy; and, command the local controller to deploy the distribution policy to each local proxy.