Multi-Tenant Circuit Breaking for Consistent Microservice Behavior
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing consistent multi-tenant behavior in microservices-based applications is challenging due to the need for individual microservices to handle different tenants and communication protocols, leading to inefficiencies and increased computational burden in distributed computing systems.
Innovation Solution
A multi-tenant framework is implemented, which includes modules to extract and manage tenant context data, provide tenant-specific functionality, and implement circuit breaking policies, allowing microservices to operate independently of tenant-specific configurations and reduce inter-service errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If individual microservices implement tenant-specific handling logic, then each microservice can process different tenants independently, but the system complexity and computational overhead increase significantly
Solution Approach 1:
The patent introduces a circuit breaker as an intermediary component that mediates between microservices and tenants. The circuit breaker monitors system state and automatically triggers or disallows requests based on overload conditions, eliminating the need for each microservice to implement complex tenant-specific handling logic while maintaining system adaptability
Solution Approach 2:
The patent segments the tenant handling functionality into separate, independent circuit breaker components that can be deployed individually across microservices. Each circuit breaker operates autonomously to manage its specific tenant's requests, reducing overall system complexity while preserving the ability to handle multiple tenants independently
2Adaptability or versatility
If microservices communicate with multiple communication protocols, then the system can integrate diverse services, but consistency across tenancies and protocols becomes difficult to maintain
Solution Approach 1:
The circuit breaker is designed as a universal component that can operate across multiple communication protocols (REST, RPC, messaging interfaces). It provides consistent overload management and tenant context handling regardless of the protocol being used, ensuring reliability and consistency across diverse service communications
3Productivity
If the system processes requests from multiple tenants simultaneously, then the distributed computing system can serve diverse customers, but computational burden and error rates increase
Solution Approach 1:
The circuit breaker implements partial action by selectively allowing or disallowing requests based on system state. When a microservice is overloaded, the circuit breaker disallows requests from specific tenants while continuing to process requests from other tenants, maintaining productivity for healthy services while reducing computational burden on overloaded ones
Data Source
AI summary
Techniques are disclosed for using a multi-tenant framework for microservices in a microservices-based application to handle tenant-specific circuit breaking. The microservices-based application can include at least one microservice that incorporates the multi-tenant framework. The multi-tenant framework includes software components configured to provide multi-tenant functionality for the microservice. A first microservice may receive an indication associated with a tenant that a second microservice is overloaded. The first microservice can then receive a request containing tenant context data at an interface. A first software component of the multi-tenant framework can extract the tenant context data from the request. The first microservice may determine whether the tenant context data corresponds to the tenant. The first microservice can then trigger a circuit breaker for the second microservice.


