Skip to main content

Software deployment overview

1. Server configuration recommendations

Mapmost Studio theoretically supports deployment in all mainstream x86 architecture Linux operating system distributions. However, taking into account the stability of the distribution, support cycle, community activity and other factors, in the absence of other specific requirements (such as the requirements of domestic Xinchuang), it is recommended to use Ubuntu 22.04/24.04 to deploy the system.

Operating SystemHardware
Ubuntu 22.04/24.04CPU:Intel(R) Xeon(R) CPU E5-2650 v4
Memory: 32 GB
Disk: SSD 1T
Network: Network 1000baseT/Full

2. System service list

  • Business Application:
applicationDefault portillustrate
mapmost-studio-web
/
Studio front end
mapmost-studio-carto
/
Drawing platform front end
mapmost-studio-vector-map
8222
Vector map service
cloud-minio-upload
18092
File upload service
modeldeployment-manager
8101, 5555 (after v9.1.0)
Slice release management service
studio-core-master
8100
Studio core management service (new in v9.1.0 version)
  • middleware:
middlewareDefault portillustrateCurrent version in use
Docker
/
Container Engine
24.0.9
OpenResty
80、8085
Web server, Lua script
1.21.4.1-1
MySQL
3306
Database
8.0.33
Redis
6379
Cache
6.2.12
PostgreSQL(PostGIS)
5432
Spatial-temporal database
12~17
MinIO
9000
OBJect Storage
2021-06-17T00-10-46Z
  • System Services:
Serveillustrate
NFS
File sharing (new in v9.1.0, required for multi-compute node deployment)

3. System deployment architecture

Currently, the Mapmost Studio system supports three deployment architectures, which can be selected according to specific circumstances:

(1) Single node deployment

All services are deployed on the same server.

It is easy to manage, but requires higher server hardware configuration, and the impact will be greater when the server fails.

(2) Multi-node deployment (single computing node)

Deploy front-end and back-end application services and middleware services separately on different servers.

Reduce resource competition on the server, and flexibly allocate hardware resources to the server according to the purpose. The impact of failure is small, but the cost and management complexity are high.

An example of server node allocation is as follows:

nodeuseDeployment service
node1
Application Service Node
Docker, OpenResty, front-end and back-end services
node2
Database node
Docker、MySQL、Redis、PostgreSQL
node3
File node
Docker、MinIO

Tips:

Each middleware service can also be independently deployed on multiple server nodes to further reduce the impact of server failure.

(3) Multi-node deployment (multiple computing nodes)

Based on the previous deployment structure, the application service node is split into management nodes and computing nodes. The computing nodes can be horizontally expanded as needed, thereby improving the overall performance of the system.

An example of server node allocation is as follows:

nodeuseDeployment service
node1
Management Node
Docker, OpenResty, front-end and back-end services
node2
Compute node
Docker, modeldeployment-manager service
node3
Compute node
Docker, modeldeployment-manager service
node4
Database node
Docker、MySQL、Redis、PostgreSQL
node5
File node
Docker, MinIO, NFS services