Control Plane Clustering for Microservice Data Plane Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In microservices architecture, using external databases for configuration storage increases latency and disrupts processes if the connection is lost, leading to inefficiencies and potential service slowdowns or stops.
Innovation Solution
Implementing a distributed API gateway architecture with a control plane that links nodes into clusters, allowing common API functionalities to be bundled into gateway nodes, which share a data store for configuration and plugin management, enabling efficient configuration updates and plugin installation across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an external database is used to store configured entities, then configuration data can be centralized and managed, but latency increases and service continuity is disrupted when connection is lost
Solution Approach 1:
The system performs preliminary action by caching configuration data locally at data plane nodes before it is needed for processing requests. This allows the system to access configurations immediately without external database queries, reducing latency while maintaining service continuity even when external connections are lost.
Solution Approach 2:
The patent applies local quality by distributing configuration caches to individual data plane nodes rather than relying on a centralized external database. Each node maintains its own local copy of configurations, enabling independent operation and reducing both latency and single-point-of-failure risks.
2Ease of operation
If configuration data is accessed from an external database, then centralized management is achieved, but system performance is slowed due to external connection dependencies
Solution Approach 1:
Configuration data is preliminarily cached at data plane nodes before being accessed during request processing. This preliminary action maintains the benefit of centralized configuration management (configurations are still defined and updated centrally) while eliminating the performance penalty of external database connections during actual operations.
3Stability of the object's composition
If a centralized database is used for configuration storage, then configuration consistency can be maintained, but connection loss stops microservice processes
Solution Approach 1:
The system performs preliminary caching of configuration data at distributed data plane nodes, creating local copies that ensure service availability even when external database connections are lost. Configuration consistency is maintained through centralized updates that propagate to nodes, while local caches ensure continuous operation.
Solution Approach 2:
Each data plane node maintains its own local configuration cache, providing autonomy and resilience. This local quality approach ensures that individual nodes can continue operating with their cached configurations even when external connections are interrupted, improving overall service availability.
Data Source
AI summary
Disclosed embodiments are directed at systems, methods, and architecture for configuring data planes based on clusters of nodes. A control plane links a plurality of microservices for a microservice architecture application. Each microservice includes a data plane that serves traffic for the microservice from the control plane and is processed at a node of a plurality of nodes. The control plane links a subset of the plurality of nodes in a cluster, such that the cluster is associated with a related set of microservices and data planes. The control plane updates configurations of nodes in the cluster to a latest configuration. The control plane sends the latest configuration to each data plane of the cluster. Each data plane of the cluster caches the latest configuration on a local storage disk of an associated node.


