Product Whitepaper
# Backgroud
Databases are unable to handle ultra-high concurrency data access scenarios, resulting in high latencies and system crashes, significantly affecting system stability and user experience. Consequently, caching systems have become an essential component in large systems, serving to boost system performance, increase service access speeds, and effectively prevent database failures due to heavy access loads. As a critical service supporting high-concurrency access, the caching system stores a large amount of important data information, requiring particularly high standards of stability, reliability, and scalability. Currently, the prevalent caching software is the open-source Redis. While the strength of open source is considerable, it can be highly unreliable for industries with very stringent data security requirements.
# Development History
- January 2021: Initiated the project for independently developing the distributed cache, AMDC
- May 2021: Released the AMDC v1.0 beta version, equipped with basic caching functionalities
- July 2021: Launched the complete AMDC v1.0 version, providing a session distributed caching component for AAS
- July 2021: Commenced the AMDC v2.0 project, focusing on enhancing AMDC's high availability
- December 2021: Conducted localization adaptation, completing compatibility with Digital Cloud, China Unicom Cloud, and the Kingdee YonSuite platform
- March 2022: Released the high-availability sentinel mode.
- June 2022: Released the high-availability cluster mode
- October 2022: Added performance testing tools and data migration tools, achieving cloud-native readiness
- January 2023: Optimized cache performance, incorporating a multi-coroutine concurrent I/O model
- trengthened compatibility, aligning with Redis configuration files, and refining its own configuration file
- June 2023: Officially launched the two-site three-datacenter mode; concurrently improved the user experience of the management console, enriching its content
# Award Received
Outstanding Products and Solutions of the Alliance in 2022": "Top 10 Innovative Products" by Guangdong ICT Alliance
# Product Overview
# Product Positioning
Apusic In-Memory Data Cache(AMDC)is an independently developed, versatile, high-throughput distributed caching system that provides data caching and cache management capabilities. Primarily designed for high-concurrency, distributed, and high-frequency data access scenarios, it offers reliable cache support for critical applications while being compatible with the Redis protocol and persistent data files, allowing for simple and smooth replacement of Redis.
# Target Audience
- Enterprises and organizations requiring the development of distributed and high-concurrency systems.
- Technical personnel involved in the development of distributed and high-concurrency systems.
- Operations personnel engaged in the implementation and maintenance of caching software.
# Core Capabilities
- Data Caching: Supports rich data types to meet diverse storage needs, facilitating rapid development and reducing type conversions.
- High Throughput: Provides reliable cache support for large-scale, high-concurrency, highly available critical applications.
- National Cryptography Transmission: Supports data transmission using national cryptography to meet industries with high security requirements such as finance and defense.
- Two-Site Three-Datacenter: Supports the two-site three-datacenter model with dual active real-time synchronization and CRDT data synchronization conflict resolution algorithm to ensure data consistency.
- Multi-Tenant Management: Supports multi-tenant management for multi-instance, data isolation, and out-of-the-box usability without the burden of operations and management responsibilities.
# Product Value
# Enhancing System Performance and Stability
Databases struggle with ultra-high concurrency data access scenarios, leading to high latency and instability, severely impacting system stability and user experience. AMDC serves as a buffer layer between the system and database, improving performance, accelerating service access speeds, and effectively protecting the database from massive access impacts.
# Simplifying Business Function Implementation
AMDC offers a variety of data types, each with distinct characteristics, not only for caching data but also for rapidly implementing various business functions such as leaderboards, session sharing, hot lists, and message notifications.
# Product Self-Control
AMDC is an independently developed product by Apusic, with full control over its underlying layers and functions, meeting all requirements of the information innovation environment, achieving complete domestication of caching.
# Real-Time Synchronization of Remote Data
AMDC possesses a powerful two-site three-datacenter model, with dual reads and writes, real-time synchronization, capable of handling data synchronization tasks with high real-time requirements.
# Multi-Tenant Management
AMDC supports multi-tenant visual management, with isolated instances for multiple business data, ready-to-use without the need for operational management; separation of operations and usage, clear division of responsibilities.
# Product Advantages
# High Performance
Offers high-performance data access capabilities, utilizing a multi-threaded network layer architecture for concurrent operations, with a single-node throughput reaching up to 140,000.
# High Reliability
Features replication capabilities, achieving multiple copies of identical data in AMDC to increase fault tolerance; uses a decentralized cluster management architecture, where users can access any data node in the cluster and requests will be routed to the correct node; supports automatic discovery, failure detection, automatic failover, and data migration, significantly reducing operational costs.
# High Security
Supports IP and subnet whitelists to strictly control client access IPs or network subnets; supports ACL (Access Control List) for detailed user access permissions, strictly limiting data and feature access to ensure data security; supports national cryptography algorithms/SSL for bi-directional data encryption to safeguard data security.
# High Compatibility
Compatible with the Redis protocol and features, compatible with mainstream Redis clients for programming languages, resulting in extremely low migration costs; supports JAVA/GO/Python/C/C++ and other programming language clients.
# Domestic Adaptation
- Chips: Phytium, Kunpeng, Hygon, Zhaoxin x86, amd architecture chips, as well as LoongArch architecture Longson chips.
- Operating Systems: NeoKylin OS, Kylin OS, UnionTech UOS, openEuler, and other series of domestically produced operating systems based on Linux.
# Efficient Operations and Maintenance
Features an integrated visual platform for management and control, offering automatic deployment, instance management, automatic scaling, simulated command line, monitoring alerts, and other practical functions, providing simple and quick operation methods for implementation and maintenance.
# Product Architecture
# Overview
AMDC integrates a high-performance Key-Value database, three data security functions, publish/subscribe mode, supports LUA script operations, data persistence, and three high-availability modes; provides an integrated visual platform with practical functions such as automatic deployment, instance management, automatic scaling, simulated command line, monitoring alerts.

# Functions
# Key-Value Data Storage
All data is stored in memory in key-value format, offering eight practical data types, data timeout mechanisms, and multiple data eviction strategies to ensure efficient system operation.
# Publish/Subscribe
offers publish/subscribe functionality, where clients subscribed to relevant messages receive automatic notifications from the server when a key value is updated, enabling message systems.
# Lua Script Support
Supports the use of Lua scripts for operations, combining multiple actions to implement more complex business logic.
# National Cryptography/SSL Encryption Transmission
Supports bi-directional data encryption transmission using national cryptography/SSL algorithms, ensuring data security and meeting high-security requirements in industries such as finance and defense.
# IP Whitelist
Supports IP and subnet whitelists to strictly control client access IPs or subnets.
# ACL Permissions Control
Refines user access permissions, strictly limiting accessible data, subscribable channels, and usable features.
# Persistence
Offers RDB persistence method, saving in-memory data to disk to ensure data persistence and prevent massive data loss due to failures.
# Integrated Visual Platform for Management and Control
Offers practical functions such as automatic deployment/scaling, multi-mode, multi-service, multi-tenant management, white-screen configuration, automatic scaling, WebShell, monitoring alerts, data analysis, etc., providing simple and quick operation methods for implementation and maintenance.
# Deployment Environment
# Hardware Environment
AMDC supports single-machine, master-slave, or cluster deployment modes, providing different installation packages for different operating systems. Below are the minimum specifications required.
| Deployment Mode | Operating System | Installation Content | Hardware Specifications (CPU/Memory/Disk) | Number of Servers |
|---|---|---|---|---|
| Single Machine | Linux | AMDC Console, AMDC Service | 8 cores/32GB/100GB | 1 |
| Master-Slave | Linux | AMDC Console, AMDC Service | 8核/32G/100G | 2 |
| Sentinel | Linux | AMDC Console, AMDC Service | 8 cores/32GB/100GB | 3 |
| Cluster | Linux | AMDC Console, AMDC Service | 8 cores/32GB/100GB | 3 |
# Application Scenarios
# Hot Data Caching
With outstanding data caching capabilities, it provides secure and reliable caching support for large-scale, high-concurrency, highly available critical applications, ensuring normal and efficient system operation.
# Distributed Locks
Provides locking operations for distributed systems to prevent issues of data errors caused by multiple nodes simultaneously operating on data.
# Data Sharing
AMDC is a distributed independent service where cached common data can be shared across distributed systems or multiple applications.
# Lightweight Message Queue
Can quickly implement a lightweight message queue through the publish/subscribe model, LIST data type, and STREAM data type.
# Bit Operations (Big Data Processing))
Used for data statistics, deduplication, and other operations in scenarios with ultra-large data volumes, such as online user statistics and retained user statistics.
# Time-Limited Operations
Features TTL mechanism, capable of implementing time-limited operations that must be completed within a specified time frame, otherwise, the operation will become invalid.