Local Cache Write Request Handling in App Server Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Application server clusters face challenges in efficiently processing write requests while maintaining high performance throughput, as existing systems often rely on direct data storage and retrieval from database servers, which can lead to resource bottlenecks and slower access times.
Innovation Solution
Implementing a local cache in application servers to store write request payloads, allowing for faster access and processing of read requests, and signaling other servers to prioritize propagation of payloads to data stores when needed, thereby optimizing resource utilization and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If write requests are processed by directly storing data in database servers, then data persistence is ensured, but resource bottlenecks occur and access times increase
Solution Approach 1:
The system segments the data storage function by introducing local caches in application servers that separate the write request processing from the database server. The local cache handles write requests locally while the database server handles persistence, dividing the monolithic storage operation into two independent stages that can operate in parallel.
Solution Approach 2:
The local cache acts as an intermediary between application servers and database servers. It receives write requests, stores data locally, and later propagates it to the database server asynchronously. This intermediary buffer decouples the immediate write operation from the persistence operation, eliminating the bottleneck.
2Reliability
If data is stored directly in database servers, then centralized data management is achieved, but access times increase due to network latency
Solution Approach 1:
The system performs preliminary action by pre-storing write request payloads in local caches before they are propagated to database servers. When read requests occur, the data is already available locally in the cache, eliminating the need for network access and reducing latency.
Solution Approach 2:
The system adds a spatial dimension to data storage by distributing caches across multiple application servers. Instead of all data residing in a single centralized location (database server), data is replicated across multiple nodes (local caches), allowing就近 access and parallel operations.
3Reliability
If payloads are propagated to data stores immediately upon receiving write requests, then data availability is improved, but resource utilization decreases
Solution Approach 1:
Instead of continuous immediate propagation, the system uses periodic batch propagation where accumulated payloads are transferred to data stores in scheduled intervals. This converts continuous resource-intensive operations into periodic bursts, improving overall resource utilization while maintaining data availability through the cache.
Data Source
AI summary
An application server of a server cluster may store a payload of a write request in a local cache and thereafter serve read requests based on payloads in the local cache if the corresponding data is present when such read requests are received. The payloads are however later propagated to respective data stores at a later suitable time. Each application server in the server cluster retrieves data from the data stores if the required payload is unavailable in the respective local cache. According to another aspect, an application server signals to other application servers of the server cluster if a required payload is unavailable in the local cache. In response, the application server having the specified payload (in local cache) propagates the payload with a higher priority to the corresponding data store, such that the payload is available to the requesting application server.


