Sticky Routing for Data Consistency in Distributed Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Sequential service requests from a user may be routed to different data centers, leading to inconsistencies in data versions, affecting user experience and confidence in online services supported by multiple operations centers.
Innovation Solution
Implementing sticky routing, where all service connections from a user's devices are routed to a single data center, ensuring all data modifications are applied to one repository, eliminating version inconsistencies across different connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If requests are routed to different data centers based on proximity or load distribution, then service availability and load balancing are improved, but data consistency and user experience deteriorate
Solution Approach 1:
The system segments user sessions by creating sticky routing groups that associate specific user devices with specific data centers. This segmentation maintains data consistency within each segment while allowing different segments to be distributed across multiple data centers, thus preserving both data consistency and service availability.
Solution Approach 2:
The patent introduces a sticky routing mechanism as an intermediary layer between users and data centers. This intermediary maintains routing state information and ensures that user requests are consistently directed to the same data center, resolving the data consistency issue while preserving load distribution capabilities.
2Adaptability or versatility
If load distribution across multiple data centers is implemented, then system capacity and fault tolerance are improved, but data version consistency worsens
Solution Approach 1:
The system performs preliminary routing decisions by assigning user devices to specific data centers before requests are processed. This preliminary assignment ensures that all subsequent requests from the same user are directed to the same data center, preventing data version inconsistencies while maintaining the ability to distribute load across multiple centers.
Solution Approach 2:
The sticky routing system dynamically adjusts routing decisions based on user session state. While maintaining consistent routing for individual users, the system can dynamically redistribute load across data centers by creating new sticky routing associations, thus achieving both data consistency and system adaptability.
Data Source
AI summary
A system and method are provided for sticky routing of a user's service requests and connections to a distributed service hosted by multiple data centers. Sticky routing data are generated when a user first connects, to include member ID, preferred data center, a user bucket associated with one data center, a generation of the bucket, a generation of the user's sticky routing data, and timing information identifying a time of issue and/or a time of expiration of the routing data. A user bucket is either online (accepts new users; their requests are routed to the associated data center), offline (not accepting new users; existing users are expelled and must join a different bucket), or closed (not accepting new users; existing users' requests continue to be routed to the associated data center). All of a user's requests, from all devices, are thus routed to one data center, based on member ID.


