Control Plane Clustering for Microservice Data Plane Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice continuityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvecentralized configuration managementVSAvoidsystem processing speed
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveconfiguration consistencyVSAvoidservice availability
Core Design Contradiction:
Stability of the object's compositionVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240143320A1Clustering of data planes on a control plane
Publication Date: 2024.05.02 KONG INC
  • US20240143320A1 patent drawing
  • US20240143320A1 patent drawing
  • US20240143320A1 patent drawing

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.