Recommended Servers
Standalone Deployment Mode
Microservices
Strengths: Simple and fast deployment, low server resources and O&M costs
Weaknesses: single point of failure, but it supports health checks and usually has self-recovery capabilities
Recommended server configurations are as follows:
Concurrency | Configuration | OS |
---|---|---|
Within 100 | 8C/32G/40G system disk/100G data disk | Debian 10+ |
Within 200 | 16C/32G/40G system disk/100G data disk | Debian 10+ |
Within 300 | 24C/48G/40G system disk/100G data disk | Debian 10+ |
300 or more | Recommended cluster deployment mode | - |
Data Pipeline Service
Data Pipeline is an extension module in the HAP system, and users can choose whether to enable it or not. The recommended configuration for the data Pipeline server is as follows:
Number of synchronization tasks | Configuration | OS |
---|---|---|
1~20 | 8C/32G/40G system disk/100G data disk | Debian 10+ |
1~50 | 16C/64G/40G system disk/100G data disk | Debian 10+ |
50 or above | Recommend deploying in cluster mode for easy horizontal scaling | - |
The larger the amount of data in the data source, the higher the required resource consumption may also need to be correspondingly increased
Cluster Deployment Mode
Lite Edition (Concurrency 300+)
Strengths: save server resources and O&M costs, high availability of microservice clusters, and relatively independent deployment components, suitable for environments with limited resources or small-scale application scenarios
Weaknesses: some component coupling, possible single point of failure of storage-related services
Recommended server configurations are as follows:
Usage | Configuration | OS | Deployed Service | Number |
---|---|---|---|---|
Load and Forward | 4C/8G/100G system disk/200G data disk | Debian 10+ | Nginx | 1 |
Microservice Application | 16C/48G/100G system disk/200G data disk | Debian 10+ | HAP Microservices | 2 |
Middleware | 8C/32G/100G system disk/500G data disk | Debian 10+ | Kafka, Elasticsearch, File Object Storage | 1 |
Data Storage | 8C/32G/100G system disk/300G data disk (SSD) | Debian 10+ | MySQL, MongoDB, Redis | 1 |
Data Pipeline (optional) | 8C/32G/100G system disk/200G data disk | Debian 10+ | Data Pipeline Service | 1 |
Standard Edition (Concurrency 600+)
Strengths: Having basic high availability capabilities, such as node redundancy and higher utilization of automatic fault tolerance, and being able to effectively utilize server resources. Suitable for most usage scenarios
Weaknesses: There is interference and resource competition between different storage components, and attention should be paid to resource allocation and management
Recommended server configurations are as follows:
Usage | Configuration | OS | Deployed Services | Number |
---|---|---|---|---|
Load and Forward | 4C/8G/100G system disk/200G data disk | Debian 10+ | Nginx | 2 |
Microservice Application | 16C/48G/100G system disk/200G data disk | Debian 10+ | HAP Microservices | 3 |
Cache | 4C/16G/100G system disk/200G data disk | Debian 10+ | Redis | 2 |
Middleware | 8C/32G/100G system disk/500G data disk | Debian 10+ | Kafka, Elasticsearch, File Object Storage | 4 |
Database | 8C/32G/100G system disk/300G data disk (SSD) | Debian 10+ | MySQL, MongoDB | 3 |
Data Pipeline (optional) | 8C/32G/100G system disk/200G data disk | Debian 10+ | Data Pipeline Service | 2 |
Professional Edition (Concurrency 1000+)
Strengths: At the same time of high availability, a single application architecture is adopted (only one component instance runs on each server) to improve reliability and performance, avoid interference and resource competition between different components, and also facilitate independent expansion and management of each component
Weaknesses: high server resources and O&M costs
Recommended server configurations are as follows:
Usage | Configuration | OS | Deployed Service | Number |
---|---|---|---|---|
Load and Forward | 4C/8G/100G system disk/200G data disk | Debian 10+ | Nginx | 2 |
Microservice Application | 32C/64G/100G system disk/300G data disk | Debian 10+ | HAP Microservices | 3 |
Cache | 16C/32G/100G system disk/200G data disk | Debian 10+ | Redis | 2 |
Message queue | 16C/32G/100G system disk/500G data disk | Debian 10+ | Kafka | 3 |
Full-text search | 16C/32G/100G system disk/500G data disk | Debian 10+ | Elasticsearch | 3 |
File Storage | 16C/32G/100G system disk/500G data disk | Debian 10+ | File Object Storage | 4 |
RDB | 16C/32G/100G system disk/500G data disk(SSD) | Debian 10+ | MySQL | 2 |
NoSQL | 32C/64G/100G system disk/500G data disk(SSD) | Debian 10+ | MongoDB | 3 |
Data Pipeline (optional) | 16C/64G/100G system disk/200G data disk | Debian 10+ | Data Pipeline Service | 2 |
Basic performance requirements for servers
CPU
It is recommended to choose a CPU with a clock speed of 2.5 GHz or higher. High frequency can provide faster computation and response speed.
Disk
For server disk performance, we have established the following minimum requirements. It is strongly recommended to configure disks that meet or exceed these standards; otherwise, business operations may be negatively affected.
Furthermore, mechanical hard drives are not recommended, as their IOPS typically reach only around 100, which falls far short of our minimum performance requirements and can significantly hinder business performance.
- Random write performance: IOPS ≥ 2000
- Random read performance: IOPS ≥ 2000
- Sequential write speed: ≥ 100 MiB/s
- Sequential reading speed: ≥ 100 MiB/s
SSD hard drive
To evaluate the performance of SSD hard drives, we used common mid-range SSD hard drives provided by cloud server vendors as our testing benchmark.
The following are the benchmark indicators we have set, however, we strongly recommend that the actual hard drive configuration should not be lower than the following values. Of course, if we could surpass these values, it would be even more ideal.
- Random write performance: IOPS ≥ 15000
- Random read performance: IOPS ≥ 15000
- Sequential write speed: ≥ 200 MiB/s
- Sequential reading speed: ≥ 200 MiB/s
Cluster Mode - Internal Network
In order to ensure the stability and efficient performance of the system under various workloads, we have set the following basic performance requirements for the internal network:
Internal packet sending and receiving rate (PPS): Each server should reach at least 200000.
Internal network bandwidth: The internal network bandwidth of each server should not be less than 2 Gbps.
These requirements help ensure that the system can maintain stable and efficient communication performance even under high load conditions.
Bandwidth requirements
Bandwidth recommendation is 30M+. If file storage related functions are frequently used, it may need to be expanded according to the actual situation
Accelerated access: The larger the bandwidth, the faster the data transmission speed, and the smoother the user access experience.
Supporting more users: High bandwidth can effectively avoid lagging or latency in high concurrency scenarios, supporting more concurrent access.
Coping with peak traffic: During peak traffic periods, sufficient bandwidth can ensure the normal operation of servers and will not be affected by traffic pressure.
Charged by data, higher cost-effectiveness: For cloud servers, it is recommended to purchase bandwidth. Charged by data is a flexible and cost-effective solution that can ensure speed and meet business needs of different scales.
Example of bandwidth calculation
Assuming a bandwidth of 30Mbps is selected, if 30 people are downloading simultaneously, the bandwidth allocation is as follows:
Total bandwidth: 30Mbps=30000000 bits/second
Bandwidth allocation per user: 30000000 ÷ 30=1000000 bits/second
Download speed per user: 1000000 ÷ 8=125000 bytes per second ≈ 125KB/s