Embedded Capacity-Computer Module for Microservice Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy cloud-native data processing systems lack the ability to balance and distribute microservice loads effectively, leading to disproportionate allocation and potential failure of service instances due to the agnostic nature of external load balancers, which do not consider the actual capacity of individual microservice instances.
Innovation Solution
Implementing an embedded capacity-computer module within each microservice instance to monitor and manage its own capacity and bandwidth, allowing for self-regulated load distribution and balancing without the need for external load balancers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If external load balancers are used to distribute tasks among microservice instances, then load distribution is achieved, but the load balancer cannot determine the actual capacity of individual microservice instances leading to disproportionate allocation
Solution Approach 1:
The patent implements a feedback mechanism where microservice instances continuously report their capacity status (available bandwidth, processing power, memory) to the load balancer. This real-time feedback enables the load balancer to make informed decisions about task allocation, resolving the contradiction between achieving load distribution and matching instance capacity by providing the load balancer with accurate capacity information that it previously lacked.
Solution Approach 2:
The patent enables microservice instances to self-report their capacity status and self-manage their load handling capabilities. Each instance autonomously determines its available resources and communicates this information to the load balancer, allowing the system to achieve both load distribution and capacity matching without requiring complex centralized monitoring or control mechanisms.
2Device complexity
If microservices have no control over external load balancers, then system architecture simplicity is maintained, but microservices cannot signal their processing limitations leading to overload
Solution Approach 1:
The patent implements self-service by enabling microservice instances to autonomously monitor their own capacity status and actively signal their processing limitations to the load balancer. This self-service capability allows instances to protect themselves from overload while maintaining the simplicity of the external load balancer architecture, as instances independently manage their own capacity reporting without requiring control over the load balancer itself.
Solution Approach 2:
The patent establishes a feedback channel where microservice instances can communicate their capacity status and processing limitations back to the load balancer. This feedback mechanism preserves the external load balancer architecture while enabling instances to signal their limitations, resolving the contradiction between architectural simplicity and overload prevention by adding communication capability without changing the fundamental system structure.
3Productivity
If disproportionate allocation of microservice loads occurs, then task distribution is maintained, but service instances become overwhelmed and fail to process tasks
Solution Approach 1:
The patent resolves this contradiction by implementing continuous feedback loops where microservice instances report their current load and capacity status to the load balancer. This real-time information allows the load balancer to dynamically adjust task allocation, ensuring that task distribution continues while preventing any single instance from becoming overwhelmed, thus maintaining both productivity and reliability.
Solution Approach 2:
The patent introduces dynamic load balancing where the allocation of tasks is continuously adjusted based on real-time capacity reporting from microservice instances. This dynamic approach allows the system to maintain task distribution while adapting to changing instance capacities, preventing overload conditions by redistributing tasks away from instances that are approaching their processing limits.
Data Source
AI summary
Disclosed herein are system, method, and computer program product embodiments for microservice load balancing and distribution using an embedded computer capacity module. An embodiment operates by retrieving an application programming interface (API) request from a client. The embodiment stores objects representing the API request in a job detail database containing details related to the API request. The embodiment determines an available bandwidth of the service instance. The embodiment transmits the determined available bandwidth of the service instance to a job processor. The embodiment selects tasks from the objects representing the API request stored in the job detail database based on the determined available bandwidth of the service instance. The embodiment executes the selected tasks.


