Resilient Consistent Hashing for Distributed Cache Node Failures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing consistent hashing techniques in distributed cache systems face challenges when adding new resources, as they require costly updates to the hashing scheme and may not achieve optimal workload distribution, leading to uneven resource utilization and potential disruptions due to node failures.
Innovation Solution
Resilient consistent hashing techniques that allow for adaptive handling of new resources and uneven workload distribution without breaking the consistent hashing scheme, using load balancers and backup nodes to ensure seamless request routing and minimize disruptions, while implementing shuffle sharding to redistribute requests among available nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If consistent hashing scheme is updated to add new resources, then resource utilization is improved, but system disruption and update cost increase
Solution Approach 1:
The system dynamically adjusts the hashing scheme only for the specific hash value corresponding to the new resource, while maintaining static hashing for all other values. This selective dynamic update allows the system to adapt to new resources without requiring a complete scheme refresh, thereby improving resource utilization while minimizing system disruption.
Solution Approach 2:
The hashing scheme is segmented into individual hash value mappings rather than being treated as a monolithic structure. When a new resource is added, only the specific hash value mapping for that resource is updated, isolating the change to a minimal segment and preventing cascading disruptions across the entire system.
2Adaptability or versatility
If consistent hashing scheme is updated to add new resources, then resource utilization is improved, but update cost increases
Solution Approach 1:
The system employs selective dynamic updating where only the specific hash value mapping for the new resource is modified, rather than recalculating and redistributing all hash mappings. This dynamic approach reduces computational overhead and update costs while still achieving proper resource utilization.
Solution Approach 2:
The update operation is localized to only affect the specific hash value mapping for the new resource, leaving all other mappings unchanged. This local quality approach minimizes the scope of work required during updates, reducing both computational cost and operational complexity.
3Productivity
If requests are directed to specific nodes by hashing scheme, then workload distribution is achieved, but uneven resource utilization occurs
Solution Approach 1:
The system monitors resource availability and utilization metrics, and uses this feedback to dynamically adjust hash value mappings. When resources become unavailable or utilization becomes uneven, the system recalculates and updates the appropriate hash mappings to redistribute requests, thereby maintaining both workload distribution and balanced resource utilization.
Solution Approach 2:
The system changes the hash mapping parameters dynamically based on current resource conditions. When resources are added, removed, or become unavailable, the hash values and their corresponding node mappings are adjusted to optimize both workload distribution and resource utilization, allowing the system to adapt to changing conditions.
4Reliability
If node failures occur in consistent hashing, then system resilience is tested, but request routing disruption increases
Solution Approach 1:
The system pre-establishes backup hash mappings and alternative node assignments for potential failures. When a node failure occurs, the system can immediately redirect requests using pre-computed alternative mappings, avoiding the need for real-time recalculation and minimizing routing disruption while maintaining system resilience.
Solution Approach 2:
The system dynamically updates hash mappings in response to node failures, but only for the affected hash values. This selective dynamic adjustment allows the system to maintain resilience by adapting to failures while minimizing the scope of changes required, thereby reducing routing disruption time.
Data Source
AI summary
Resilient consistent hashing techniques are implemented to perform requests among nodes of a distributed system. Different load balancers are assigned different groups of request handling nodes that cache data to perform request. Requests are assigned to different load balancers according to a consistent hashing scheme. Load balancers distribute requests among assigned nodes using a load balancing scheme. Different numbers of nodes can be assigned to different load balancers.


