API Gateway Plugin Execution Order Reordering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing and scaling multiple APIs in a microservices architecture is challenging due to the need for individual configuration and maintenance of each API, leading to inefficiencies and complexity, especially when dealing with tens of thousands of APIs and millions of clients requesting services.
Innovation Solution
A distributed API gateway architecture that bundles common functionalities into a gateway node, allowing for dynamic reordering and configuration of plugin features based on native instructions, thereby centralizing common functionalities and simplifying API management and scaling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple APIs are set up individually with separate configuration and maintenance, then each API can be independently managed, but the complexity and time required for deployment and maintenance increases significantly
Solution Approach 1:
The patent merges multiple individual API configurations into a single unified API gateway that handles multiple APIs. The gateway consolidates common functionalities such as authentication, rate limiting, and logging into shared components, while allowing individual API-specific configurations. This reduces the overall system complexity by eliminating redundant configuration management across thousands of APIs.
Solution Approach 2:
The API gateway is designed as a universal platform that can handle multiple different APIs through a common interface. It provides multi-functional capabilities including request routing, authentication, rate limiting, and response caching that can be applied across numerous APIs without requiring separate infrastructure for each API.
2Adaptability or versatility
If each API is individually configured and deployed, then specific API requirements can be met, but the time required for deployment and scaling becomes prohibitive
Solution Approach 1:
The API gateway performs preliminary configuration and setup of common functionalities before APIs need to be deployed. Authentication mechanisms, rate limiting policies, and logging configurations are pre-established in the gateway, so when new APIs are added, they inherit these configurations automatically without requiring individual setup, dramatically reducing deployment time.
Solution Approach 2:
The gateway provides dynamic configuration capabilities where API-specific settings can be adjusted at runtime without requiring system restarts or complex reconfiguration. This allows rapid deployment of new APIs and quick adaptation to changing requirements, reducing both initial deployment time and subsequent modification time.
3Productivity
If common functionalities are distributed across multiple individual APIs, then each API can be independently optimized, but the overall system efficiency decreases due to redundancy
Solution Approach 1:
The gateway merges redundant common functionalities such as authentication, rate limiting, and logging into shared services that benefit all APIs. Instead of each API maintaining its own authentication module, the gateway provides a single authentication service that all APIs use, eliminating code duplication and improving overall system efficiency while reducing maintenance overhead.
4Ease of operation
If visualizing and managing thousands of APIs is done individually, then detailed control is possible, but the activity becomes tedious and cumbersome
Solution Approach 1:
The API gateway acts as an intermediary layer between administrators and the multitude of APIs. It provides a unified management interface that allows administrators to configure, monitor, and manage multiple APIs through a single console, eliminating the need to individually access and configure each API. This mediator approach simplifies the management experience while maintaining detailed control capabilities.
Data Source
AI summary
Disclosed embodiments are directed at systems, methods, and architecture for providing execution order and execution for plugins installed on an API gateway associated with a microservices application. In application architectures where features of microservices are implemented as plugins and migrated to an API gateway, the relevant APIs are able to be built lighter weight than otherwise. However, the migration of the features to plugins introduces the potential for error states in the microservice application. To resolve the potential issues, the API gateway takes into consideration a set of native instructions in each of the plugins to determine the execution order thereof. The execution order is determined dynamically in response to requests by the APIs of the microservice application.


