Fault Tolerant Adapter Framework for DBaaS Resilience
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In IoT environments, consuming database services can lead to cascading failures due to latent backend dependencies, resulting in increased latencies and resource saturation, especially with high-volume traffic, as microapplications have numerous dependencies on DBaaS services that can become latent, causing entire user requests to be blocked.
Innovation Solution
A fault-tolerant adapter framework using the circuit breaker pattern and Hystrix framework to isolate dependencies, provide fallback logic, and convert meta models, ensuring resilient consumption of DBaaS resources across multiple applications and services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If microapplications directly consume DBaaS services with numerous dependencies, then data processing capability is improved, but system reliability deteriorates due to cascading failures and resource saturation
Solution Approach 1:
The patent introduces an adapter framework as an intermediary layer between microapplications and DBaaS services. This adapter implements the circuit breaker pattern to mediate dependency calls, preventing direct exposure of backend failures to frontend applications while maintaining data processing functionality.
Solution Approach 2:
The patent segments the monolithic dependency management into independent circuit breaker instances for each DBaaS service dependency. Each circuit breaker operates independently, isolating failures to specific service calls rather than causing system-wide cascading failures, thus improving reliability while preserving productivity.
2Reliability
If circuit breaker pattern is implemented to isolate dependencies, then system reliability is improved, but device complexity increases due to additional adapter framework components
Solution Approach 1:
The adapter framework implements a universal circuit breaker pattern that can handle multiple types of DBaaS service dependencies through a single standardized interface. This multi-functional approach reduces the need for separate complex error handling logic for each dependency type, thereby improving reliability without proportionally increasing complexity.
Solution Approach 2:
The circuit breaker implements feedback mechanisms by monitoring dependency call outcomes and automatically adjusting its state (closed, open, half-open). This automated feedback loop reduces the need for manual intervention and complex error handling logic, improving reliability while keeping the adapter framework manageable in complexity.
3Reliability
If fallback logic is provided to protect against latency, then system availability is improved, but loss of time increases due to additional processing overhead
Solution Approach 1:
The circuit breaker performs preliminary actions by pre-evaluating dependency health and pre-defining fallback behaviors before failures occur. This allows the system to quickly switch to fallback logic without extensive processing overhead during actual failures, improving availability while minimizing time loss.
Solution Approach 2:
The fallback logic implements partial action by providing alternative responses for non-critical failures while maintaining full functionality for critical operations. This selective approach reduces processing overhead by avoiding unnecessary fallback execution for healthy dependencies while still protecting against latency-induced failures.
Data Source
AI summary
An adapter framework is provided for consuming resources provided by a database service by client applications. A location of an interface of the database service is received. Static metadata of a client application is received from the client application. Mapping of field names defined at the database service to field names defined in the client application is received at the framework. Metadata for a service interface is created at the adapter framework based on the received static metadata and dynamic metadata for dynamic fields from the database service. The mapping of field names is appended with mappings for the dynamic fields. At a runtime processor, a type of a data request from the client to the database service is determined. The request is processed and a response from the database service is generated by the adapter framework and provided to the client application in an expected format.


