Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions content/guides/pro/deploy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ title: Production Deployment
### Service Overview

- collaboration-server: Collaborative editing engine in the backend, implementing the same OT algorithm as the frontend in the backend
- collaboration-helper: Responsible for handling CPU-intensive tasks in collaborative workflows (such as snapshot generation), allowing real-time collaborative editing to remain smooth and responsive. Note: Introduced in v0.13.0.
- universer: handles various operation requests for units, maintains units data, and handles broadcast of collaborative messages
- exchange worker: responsible for executing the import and export calculation tasks of units. It is a computationally intensive service and also has a large memory requirement

Expand Down Expand Up @@ -47,7 +48,7 @@ Univer's installation configuration is disabled by default. You need to decide w
You need to carefully assess your capacity requirements. If the demand is large, the Docker Compose deployment method may not be suitable. Special note:

- Import/export service exchange worker is computationally intensive. It may consume a lot of CPU and memory in a short time when processing import/export tasks, especially when importing large documents. You need to assess the potential demand for import/export and allocate appropriate CPU and memory resources.
- The collaborative editing engine collaboration-server is a stateful Node.js service and consumes more memory when multiple document edits are opened simultaneously. You need to carefully assess the required number of instances and the memory configuration for each instance.
- The collaborative editing engine collaboration-server is a stateful Node.js service and consumes more memory when multiple document edits are opened simultaneously. You need to carefully assess the required number of instances and the memory configuration for each instance. For workloads involving editing very large spreadsheets (exceeding 5 million cells), we recommend allocating a minimum of 8 GB of memory per instance.

### Choosing Basic Components

Expand Down Expand Up @@ -495,7 +496,9 @@ Please note that the components used by Univer, Temporal, do not support gaussdb
```properties title=".env.custom"
UNIVERSER_REPLICATION_CNT=2 # Set the number of universer instances
COLLABORATION_SERVER_REPLICATION_CNT=2 # COLLABORATION_SERVER instances count
COLLABORATION_SERVER_MEMORY_LIMIT=2048 # MB, memory limit of each COLLABORATION_SERVER instances
COLLABORATION_SERVER_MEMORY_LIMIT=2048 # MB, memory limit of each COLLABORATION_SERVER instance
COLLABORATION_HELPER_REPLICATION_CNT=2 # helper server instances count, Note: Introduced in v0.13.0.
COLLABORATION_HELPER_MEMORY_LIMIT=2048 # MB, memory limit of each helper server instance, Note: Introduced in v0.13.0.

# Import and export configuration related to the capacity of exchange-worker.
EXCHANGE_WORKER_REPLICATION_CNT=1 # working exchange worker count
Expand All @@ -511,6 +514,8 @@ Please note that the components used by Univer, Temporal, do not support gaussdb
collaboration-server:
replicaCount: 3 # COLLABORATION_SERVER instances count
maxMemoryLimit: 2048 # MB, memory limit of each COLLABORATION_SERVER instances
collaboration-helper-server: # Note: Introduced in v0.13.0.
replicaCount: 2 # helper server instances count
worker:
replicaCount: 1 # working exchange worker count
temporalWorker:
Expand Down Expand Up @@ -543,7 +548,7 @@ Please note that the components used by Univer, Temporal, do not support gaussdb
```
</Tab>
<Tab label="K8s">
K8s 部署无此问题
just do nothing in K8s
</Tab>
</Tabs>

Expand Down
7 changes: 6 additions & 1 deletion content/guides/pro/deploy.zh-CN.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ title: 生产部署
### 服务介绍

- collaboration-server:后端的协同编辑引擎,在后端实现了和前端一致的 OT 算法
- collaboration-helper:负责处理协同中的CPU密集型任务(比如快照生成),让协同编辑本身可以持续流畅运行。注:v0.13.0开始引入
- universer:处理文档的各种操作请求,维护文档数据,处理协同消息的广播
- exchange worker:负责执行文档的导入导出计算任务,是计算密集型服务,同时也有大内存需求

Expand Down Expand Up @@ -48,7 +49,7 @@ Univer 的安装配置默认是未启用的,你需要根据你的使用需求
你需要认真评估下你的容量需求,如果需求较大,docker compose 方式部署可能就不适合了。特别说明:

- 导入导出服务 exchange worker 是计算密集型,在处理导入导出任务时,短时间内可能会占用大量的 CPU 和内存,尤其是导入大文档时。你需要评估好导入导出的可能需求,为其分配合适的 CPU 和内存
- 协同引擎 collaboration-server 是有状态的 node 服务,并且在同时打开较多的文档编辑时会占用较多的内存,你需要认真评估需要的实例数和每个实例的内存配置
- 协同引擎 collaboration-server 是有状态的 node 服务,并且在同时打开较多的文档编辑时会占用较多的内存,你需要认真评估需要的实例数和每个实例的内存配置。如果有编辑超大表格(大于500万单元格)的需求,建议每个实例至少配置8GB内存。

### 基础组件选择

Expand Down Expand Up @@ -497,6 +498,8 @@ Univer 默认的部署配置在 Helm chart 的 values.yaml 中,[点此查看](
UNIVERSER_REPLICATION_CNT=2 # universer 实例数
COLLABORATION_SERVER_REPLICATION_CNT=2 # 协同服务实例数
COLLABORATION_SERVER_MEMORY_LIMIT=2048 # 配置协同服务的最大内存限制,单位为 MB
COLLABORATION_HELPER_REPLICATION_CNT=2 # helper服务实例数,注:v0.13.0开始引入
COLLABORATION_HELPER_MEMORY_LIMIT=2048 # 配置helper的最大内存限制,单位为 MB,注:v0.13.0开始引入

# 导入导出 exchange-worker 容量相关配置
EXCHANGE_WORKER_REPLICATION_CNT=1 # working exchange worker count
Expand All @@ -512,6 +515,8 @@ Univer 默认的部署配置在 Helm chart 的 values.yaml 中,[点此查看](
collaboration-server:
replicaCount: 3 # 协同服务实例数
maxMemoryLimit: 2048 # MB, 配置协同服务的最大内存限制
collaboration-helper-server: # 注:v0.13.0开始引入
replicaCount: 2 # helper服务实例数
worker:
replicaCount: 1 # working exchange worker count
temporalWorker:
Expand Down
Binary file modified content/guides/pro/deploy/deploy-arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading