Multi-Tenant Circuit Breaking for Consistent Microservice Behavior

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

VSEngineering 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

Engineering Contradiction:
Improvetenant handling capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveprotocol integration capabilityVSAvoidconsistency across tenancies
Core Design Contradiction:
Adaptability or versatilityVSReliability

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvemulti-tenant service capacityVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSLoss of energy

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

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12067426B2Techniques for consistent multi-tenant behavior in microservices based applications
Publication Date: 2024.08.20 ORACLE INT CORP
  • US12067426B2 patent drawing
  • US12067426B2 patent drawing
  • US12067426B2 patent drawing

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.