Geo-Distributed Key-Value Caching to Reduce Service Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional event-driven systems operating on geographically distributed infrastructure suffer from performance degradation due to increased latency and inefficient data access, particularly when deploying and redeploying services across multiple nodes, leading to high latency and additional waiting times.
Innovation Solution
Implementing a key-value caching method and apparatus that initializes a cache with a distributed lock, tracks changes using a watch function, and processes data in the order of a key-value store, service, and cache, thereby reducing latency and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If geographically distributed infrastructure is used for fault tolerance and high availability, then system reliability is improved, but latency increases and performance degrades
Solution Approach 1:
The system segments data access operations by dividing them into cache operations (local, low-latency) and key-value store operations (remote, high-latency). The cache layer handles frequent reads locally, while the key-value store handles persistent storage, thereby reducing overall latency while maintaining reliability through geographic distribution.
Solution Approach 2:
A cache is introduced as an intermediary layer between services and the geographically distributed key-value store. This intermediary holds copies of frequently accessed data locally, reducing the need for remote accesses and thereby decreasing latency while preserving the reliability benefits of geographic distribution.
2Stability of the object's composition
If distributed locks are used to ensure data consistency in critical sections, then data consistency is improved, but response time increases due to waiting time
Solution Approach 1:
Data is pre-loaded into the cache before it is needed by services. The cache is populated in advance from the key-value store, so when services need to access data, it is already available locally without requiring distributed lock acquisition, thereby reducing response time while maintaining data consistency.
Solution Approach 2:
Frequently accessed data is extracted from the shared key-value store and placed into local caches within services. This extraction removes the need for frequent locked access to shared data, reducing the time services spend waiting for distributed locks while maintaining data consistency through the cache.
3Adaptability or versatility
If general-purpose cache is deployed in nodes for service sharing, then service flexibility is improved, but caching efficiency decreases when services are rearranged
Solution Approach 1:
The cache is configured with service-specific parameters such as service identifiers and data access patterns. When services are rearranged or redeployed, the cache parameters are dynamically updated to reflect the new service configurations, maintaining both service flexibility and caching efficiency without requiring cache invalidation or redistribution.
Data Source
AI summary
Disclosed herein is a method for key-value caching. The method may include initializing a key-value cache and processing data in the order of a key-value store, a service, and the key-value cache.


