HTTP Proxy Gateway for Microservice Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microservices architectures face challenges in flexibility and complexity when providing access via HTTP requests, as users are not notified of changes to the suite of microservices, and each microservice must implement authentication and authorization functionality, increasing development and maintenance complexity.
Innovation Solution
A method for proxying HTTP requests to upstream services based on the HTTP method and headers in incoming requests, allowing providers to add or remove microservices without user notification, and enabling individual scaling of services without exposing them directly to users.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a monolithic application is used to encapsulate service components, then the application structure is simple and easy to manage, but scaling individual service components becomes complicated and requires rebuilding the entire application
Solution Approach 1:
The patent divides the monolithic application into separate microservices that can be independently scaled and deployed. Each service component is extracted as an independent unit that can be managed separately, allowing selective scaling without affecting the entire application structure.
Solution Approach 2:
The patent introduces a service discovery mechanism and service registry that act as intermediaries between clients and microservices. This intermediary layer enables clients to dynamically discover and invoke services without knowing their physical locations, facilitating flexible scaling and deployment of individual components.
2Adaptability or versatility
If individual microservices are identified and exposed to users, then flexibility to modify the suite of microservices is improved, but users are disturbed by changes and must be notified of modifications
Solution Approach 1:
The patent introduces an intermediary layer between users and microservices that handles service discovery and routing. This intermediary absorbs the complexity of service changes and presents a stable interface to users, allowing providers to modify microservices without disturbing users.
Solution Approach 2:
The patent implements dynamic service discovery where the service registry automatically updates when microservices are added or modified. The system dynamically adapts to changes in the microservice suite while maintaining consistent user interactions, eliminating the need for user notifications.
3Reliability
If each microservice implements authentication and authorization functionality, then security is improved, but development and maintenance complexity increases
Solution Approach 1:
The patent merges authentication and authorization functionality into a centralized service that is shared across all microservices. Instead of each microservice implementing its own security logic, the system combines security functions into a single reusable service that reduces overall complexity.
Solution Approach 2:
The patent creates a universal authentication and authorization service that serves multiple microservices. This multi-functional service handles security operations for the entire microservice ecosystem, eliminating redundant security implementations and simplifying maintenance.
4Stability of the object's composition
If the entire monolithic application is rebuilt when minor changes are needed, then consistency across service components is maintained, but productivity of development is reduced
Solution Approach 1:
The patent segments the application into independent microservices that can be modified and deployed separately. This segmentation allows developers to make minor changes to individual services without triggering a complete rebuild, significantly improving development productivity while maintaining system consistency through the service registry.
Data Source
AI summary
In various embodiments, a gateway application generates an outgoing Hypertext Transmission Protocol (HTTP) request based on an incoming HTTP request. In operation, the gateway application receives the incoming HTTP request and identifies an upstream service based on at least one of an HTTP method and a header included in the incoming HTTP request. Subsequently, the gateway application generates an outgoing HTTP request based on the upstream service and the incoming HTTP request. Finally, the gateway application issues the outgoing HTTP request. The outgoing HTTP request causes the upstream service to perform an action requested in the incoming HTTP request. Advantageously, the gateway application enables underlying upstream services to perform actions specified via incoming HTTP requests without directly exposing the upstream services to users.


