Real-Time Resiliency for Distributed System Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed systems, achieving real-time consistency is challenging due to failures in participating systems, leading to prolonged eventual consistency and disappointing user experiences during online service sign-ups, as existing recovery measures are not real-time.
Innovation Solution
Implementing a real-time resiliency mechanism using service instances, Application Programming Interface (API) requests, and a messaging system to fetch and retrieve user data from a cache service and messaging database, ensuring data accuracy and consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If asynchronous processing is used to improve system performance and availability, then processing speed and system resilience are improved, but data consistency and reliability deteriorate
Solution Approach 1:
The patent introduces a messaging system as an intermediary between participating systems. The messaging system receives requests from the front-end system, manages asynchronous processing across multiple participating systems, and ensures data consistency through coordinated communication. This mediator enables asynchronous processing while maintaining reliability through centralized request management and coordination.
2Reliability
If offline recovery mechanisms are used to handle system failures, then system resilience is improved, but response time and user experience deteriorate
Solution Approach 1:
The patent implements a feedback mechanism where the front-end system polls the messaging system to check the status of asynchronous requests. This real-time feedback loop allows the system to detect when processing is complete or failed, enabling immediate user notification. The feedback mechanism transforms offline recovery into a near-real-time process by continuously monitoring request status and responding to users without requiring them to wait passively.
3Adaptability or versatility
If multiple participating systems process requests asynchronously, then system versatility and functionality are improved, but coordination complexity and detection difficulty worsen
Solution Approach 1:
The patent extracts the coordination complexity from individual participating systems and centralizes it in the messaging system. The messaging system assumes responsibility for managing request routing, status tracking, and coordination between multiple participating systems. This extraction allows each participating system to focus on its specific processing function while the messaging system handles the complex coordination, making the overall system more manageable and easier to detect issues in.
Data Source
AI summary
A computer-implemented system and method for achieving strong consistency in an eventually consistent distributed system. The system comprises a database and an application server hosting a computer software product that a user subscribes to in order to access the product via a user device over a network. The application server receives a first service request from the user device for obtaining a first set of features associated with the user. The application server may ensure that the user receives a useable and correct set of features.


