Microservice Memory Data Sharing via Direct Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems that rely on Redis clusters for real-time data sharing in microservice architectures face increased system complexity, operational burden, and decreased efficiency due to serialization, deserialization, and data transmission processes.
Innovation Solution
A method and apparatus for sharing microservice application data that involves managing memory data registration information, determining required memory data, partitioning and distributing data to memory computation service nodes, and loading data in a preset manner for real-time sharing without relying on a Redis cluster.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a Redis cluster is used for real-time data sharing, then data sharing capability is achieved, but system complexity increases
Solution Approach 1:
The patent extracts the data sharing function from the Redis cluster dependency and implements it through direct memory mapping and file-based communication between microservices. This eliminates the need for centralized caching infrastructure while maintaining real-time data access capabilities.
Solution Approach 2:
Each microservice manages its own data storage and retrieval through local memory mapping and file operations, rather than relying on a centralized Redis cluster. This self-contained approach reduces system complexity by eliminating the need for external cache management infrastructure.
2Productivity
If data is accessed through Redis cluster, then real-time data sharing is enabled, but operational burden increases
Solution Approach 1:
Microservices perform data operations independently through local memory mapping and file I/O operations, eliminating the need for centralized Redis cluster management. This self-service approach reduces operational burden by removing the need for cache administration, monitoring, and maintenance.
Solution Approach 2:
The patent removes the Redis cluster from the architecture and replaces it with direct file-based communication and memory mapping mechanisms. This extraction eliminates the operational complexity associated with managing a distributed caching system while preserving real-time data access functionality.
3Adaptability or versatility
If data is serialized and transmitted through Redis, then data sharing is achieved, but system efficiency decreases
Solution Approach 1:
The patent replaces the mechanical serialization/deserialization process required by Redis with direct memory mapping and file-based data access. This substitution eliminates the overhead of data format conversion and network serialization, significantly improving system efficiency.
Solution Approach 2:
The patent extracts the data transmission step from the Redis communication pipeline and implements direct inter-process memory access through shared memory segments and file mapping. This extraction eliminates the serialization and network transmission overhead, improving efficiency while maintaining data sharing functionality.
4Ease of manufacture
If data is extracted to local computer for processing, then data processing capability is achieved, but system performance is degraded
Solution Approach 1:
The patent introduces memory-mapped files and shared memory segments as intermediaries between microservices and data storage. This intermediary layer eliminates the need to extract data to local computer memory, allowing direct in-memory processing and significantly improving system performance.
Solution Approach 2:
The patent replaces the mechanical data extraction process with direct memory mapping and file-based data access. This substitution eliminates the copy-and-process cycle, allowing services to process data directly in their memory space without extracting to local disk, thereby improving performance while maintaining processing capability.
Data Source
AI summary
The disclosure relates to a method, apparatus and device for sharing microservice application data. The method includes: managing, through data registration management, memory data registration information that is to be loaded by microservice application clusters; determining, according to the memory data registration information, memory data that are required by the microservice application clusters; partitioning and distributing the memory data to a plurality of memory computation service nodes in the microservice application clusters, and deploying the plurality of memory computation service nodes into a corresponding microservice application cluster at a proximal end; and loading the memory data in a preset manner in the plurality of memory computation service nodes, and sharing a corresponding memory computation service node in real time under the condition that the memory data change.


