概述
本文将介绍单机和集群工程部署的基本流程,方便大家直观感受部署具体包含哪些操作。
本文面向正式工程,因此提供了配置外接数据库、安全加固等后续操作。此类后续操作均为正式工程的建议操作,不强制要求。
本文仅介绍Linux系统&Tomcat中间件下的部署方案,其他不赘述。
注:推荐用户使用Linux系统服务器部署正式工程,原因请参见:Linux和Windows对比分析
第一步:确定部署工程节点数
方案选择
本文方案适用于全新部署场景,基于用户用量和业务用量推荐配置。
1)不清楚自身用量
如果对业务用量不清晰,可根据企业人数估算用户用量,并匹配相应方案
2)用户用量与业务用量不匹配
如果用户用量与业务用量匹配的方案不一致,请选择更高配置的方案
例如:注册用户数为1.8K,匹配方案一,但定时调度任务并发数为90,匹配方案二,则应选择配置更高的方案二
3)用量增加
随着使用时间和用量的增长,如果现有服务器资源不足,需要扩容,请联系帆软技术支持以获得进一步支持
用量分类 | 用量说明 | 最低配置方案 | 方案一 单机入门 | 方案二 单机推荐 | 方案三 双节点集群 | 方案四 多节点集群 |
---|---|---|---|---|---|---|
用户用量 | ||||||
注册用户数 | FR系统的用户数量 可根据企业人数估算 | <1K | <2K | <4K | <8K | <4K*N |
并发用户数 | 每分钟向FR系统发送请求的用户数量 可根据注册用户数*(0.5%~5%)估算 | <50 | <100 | <200 | <400 | <200*N |
业务用量-模板数据量 | ||||||
单个数据集数据行数 | 查看/导出/打印的模板中,单个数据集的最大数据行数 | <30W | <50W | <100W | <100W | <100W |
单张模板格子数 | 查看/导出/打印的模板中,单张模板中格子数(行*列)最大值 | <50W | <100W | <300W | <300W | <300W |
全局格子数 | FR系统中同时存活的session会话中的模板格子数总和 如方案为多节点集群,必须基于各个节点均衡会话的情况来计算 | <500W | <1000W | <4000W | <4000W*2 | <4000W*N |
业务用量-导出打印并发 | ||||||
大数据集导出并发数 | FR系统中同时使用大数据集导出模板的并发数量 | <30 | <30 | <60 | <120 | <60*N |
每秒常规打印次数 | FR系统中每秒打印模板的次数 | <30 | <30 | <30 | <60 | <30*N |
每秒二开流式接口打印次数 | FR系统中每秒使用二开流式接口打印模板的次数 | <1000 | <1000 | <1000 | <1000 | <1000*N |
业务用量-填报数据量 | ||||||
单次导入Excel单元格数 | 填报时,单次导入的Excel的单元格(行*列)最大值 | <50W | <100W | <100W | <100W | <100W |
单次填报入库格子数 | 填报时,单次提交到数据库的数据量最大值 | <50W | <100W | <100W | <100W | <100W |
业务用量-定时调度并发 | ||||||
定时调度任务并发数 | FR系统中,同时进行的定时调度的任务并发数量 | <50 | <100 | <100 | <200 | <100*N |
方案说明
方案 | 简介 | 服务器配置简介 |
---|---|---|
最低配置方案 | 面向业务用量极小的客户 | 仅面向业务用量极小的客户 1)服务器:CPU8核、内存32G、磁盘300G 部署「fr应用+nginx内网关+mysql配置库+日志存储」 |
方案一 | 单节点工程的入门推荐配置 | 1)主应用服务器:CPU16核、内存64G、磁盘500G 部署「fr应用+nginx内网关+mysql配置库+日志存储」 |
方案二 | 单节点工程的高级推荐配置 | 1)FineReport主应用服务器:CPU16核、内存64G、磁盘200G 部署「fr应用」 2)FineReport组件服务器:CPU8核、内存32G、磁盘500G 部署「nginx内网关+mysql配置库+日志存储」 |
方案三 | 双节点集群的最佳配置 | 1)FineReport主应用服务器1:CPU16核、内存64G、磁盘200G 部署「fr应用」 2)FineReport主应用服务器2:CPU16核、内存64G、磁盘200G 部署「fr应用」 3)FineReport组件服务器:CPU8核、内存32G、磁盘500G 部署「nginx内网关+mysql配置库+es日志存储+集群组件」 |
方案四 | 多节点集群的最佳配置 | 1)N个主应用服务器 N = 注册用户数 / 4K 每个服务器配置:CPU16核、内存64G、磁盘200G 每个主应用服务器上部署1个「fr应用」 2)FineReport组件服务器:CPU8核、内存32G、磁盘500G 部署「nginx内网关+mysql配置库+es日志存储+集群组件」 |
第二步:选择工程部署方式
请根据各种部署方式的优缺点,选择适合自己的部署方式。
单机部署提供三种部署方式:容器化部署、部署包部署、独立部署
集群部署提供三种部署方式:容器化部署标准集群、手动部署标准集群、手动部署高可用集群
工程类型 | 部署方式 | 说明 |
---|---|---|
单机 | 容器化部署 | ★★★★★ 优点: 部署成本低:一键部署,自带JDK、Tomcat、FineReport工程和外接数据库 启动成本低:部署成功后默认添加好启动参数,无需手动配置 异常影响小:工程环境容器化,每个工程的环境相互隔离,出现异常时影响范围小 运维成本低:运维平台自动接入工程,对工程进行自动监控预警,运维成本低 |
部署包部署 | 优点: 部署成本低:一键部署,自带JDK、Tomcat、FineReport工程 限制项: 只支持Tomcat部署,只支持x86和arm架构 部署完需要手动配置参数,以保证系统稳定运行 无法及时对系统运行情况进行监控告警 | |
独立部署 | 优点: 不限制中间件,不限制服务器架构 限制项: 需提前部署准备JDK环境和Tomcat中间件 需提前准备好FineReport工程包 部署完需要手动配置参数,以保证系统稳定运行 无法及时对系统运行情况进行监控告警 | |
集群 | 容器化部署集群(标准/高可用) | ★★★★★ 优点: 部署成本低:一键部署,包括FineReport工程节点+负载均衡+状态服务器+文件服务器+外接数据库(用户如需容器化部署高可用集群,可自行准备高可用组件) 启动成本低:部署成功后默认添加好启动参数,无需手动配置 异常影响小:工程环境容器化,每个工程的环境相互隔离,出现异常时影响范围小 运维成本低:运维平台自动接入工程,支持对服务器、FineReport应用、组件服务等进行监控告警 |
手动部署标准集群 | 优点: 相比于单机工程,集群中多个工程相互通信共享数据和任务,可以提供更好的可扩展性和更高的性能,可以提高系统的负载能力和可用性,并确保系统的稳定性和一致性 限制项: 工程节点+负载均衡+状态服务器+文件服务器+配置库都需手动部署、修改配置和串并起来 部署完需要手动配置参数,以保证系统稳定运行 无法及时对系统运行情况、服务器、组件服务器进行监控告警 | |
手动部署高可用集群 | 优点: 相比于标准集群,集群更加高可用,确保工程运维稳定 限制项: 需要进行复杂的配置,需要一定的技术水平和经验,需要更多的硬件或虚拟资源 工程节点+负载均衡+状态服务器+文件服务器+配置库都需手动部署、修改配置和串并起来 部署完需要手动配置参数,以保证系统稳定运行 无法及时对系统运行情况、服务器、组件服务器进行监控告警 |
第三步:查看具体部署方案
单机方案一:容器化部署
操作步骤 | 说明 | |
---|---|---|
1 | 准备服务器环境 | 准备FineReport工程、外接数据库的服务器环境 推荐环境:工程部署推荐环境 |
2 | 容器化部署 | 1)下载、上传、解压容器化部署工具 2)修改finekey.yaml配置文件 3)语句启动部署流程 4)部署成功后工程自动启动,管理员即可访问工程 参考文档:容器化部署新FineReport单机项目 |
3 | 后续操作 | 1)容器化部署时,会自动安装FineReport工程和外接数据库,工程会自动接入外接数据库,因此无需配置外接数据库 2)建议参考文档提高产品安全性:产品安全加固指导手册 3)建议参考文档提高运维稳定性:运维监控指导手册 |
单机方案二:部署包部署
操作步骤 | 说明 | |
---|---|---|
1 | 准备服务器环境 | 准备FineReport工程的服务器环境 准备并部署好外接数据库 推荐环境:工程部署推荐环境 支持环境:单机工程部署支持环境 |
2 | 部署包部署 | 1)下载、上传、解压服务器部署包 2)语句启动FineReport工程 3)启动成功后,管理员即可访问工程 |
3 | 后续操作 | 1)建议为正式工程配置外接数据库:配置外接数据库 2)建议参考文档提高产品安全性:产品安全加固指导手册 3)建议参考文档提高运维稳定性:运维监控指导手册 |
单机方案三:独立部署
操作步骤 | 说明 | |
---|---|---|
1 | 准备服务器环境 | 准备FineReport工程的服务器环境 准备并部署好Tomcat、JDK 准备并部署好外接数据库 推荐环境:工程部署推荐环境 支持环境:单机工程部署支持环境 |
2 | 独立部署 | 1)上传webroot工程文件 2)上传tools.jar文件 3)语句启动FineReport工程 4)启动成功后,管理员即可访问工程 |
3 | 后续操作 | 1)建议为正式工程配置外接数据库:配置外接数据库 2)建议参考文档提高产品安全性:产品安全加固指导手册 3)建议参考文档提高运维稳定性:运维监控指导手册 |
集群方案一:容器化部署标准集群
操作步骤 | 说明 | |
---|---|---|
1 | 准备服务器环境 | 准备工程节点+负载均衡+状态服务器+文件服务器+配置库部署环境 推荐环境:工程部署推荐环境 支持环境:集群工程部署支持环境 |
2 | 容器化部署 | 1)下载、上传、解压容器化部署工具 2)修改finekey.yaml配置文件 3)语句启动部署流程,会自动部署:
4)部署成功后,集群工程自动启动,管理员即可访问工程 参考文档:容器化部署新FineReport集群项目 |
3 | 后续操作 | 1)容器化部署时,会自动部署工程节点和集群组件 工程会自动接入外接数据库,因此无需配置外接数据库 工程会自动接入负载均衡+状态服务器+文件服务器,因此无需开启配置集群 2)建议参考文档提高产品安全性:产品安全加固指导手册 3)建议参考文档提高运维稳定性:运维监控指导手册 |
集群方案二:手动部署标准集群
操作步骤 | 说明 | |
---|---|---|
1 | 准备服务器环境 | 准备工程节点+负载均衡+状态服务器+文件服务器+配置库部署环境 推荐环境:工程部署推荐环境 支持环境:集群工程部署支持环境 |
2 | 部署外接数据库 | 部署数据库,作为工程的外接数据库备用 支持的数据库类型请参考:配置外接数据库 |
3 | 部署负载均衡 | 部署负载均衡,推荐Nginx 详情请参见:Linux 系统安装配置 Nginx |
4 | 部署状态服务器 | 部署状态服务器,推荐使用Redis单机 |
5 | 部署文件服务器 | 部署文件服务器,优先推荐SFTP 推荐级别:SFTP≈MinIO>NFS>FTP≈HDFS |
6 | 部署工程节点 | 部署一个工程节点 部署方法请参考单机部署的「部署包部署」或「独立部署」 |
7 | 配置开启集群 | 1)单节点集群配置: 为该配置外接数据库:配置外接数据库 将主节点与状态服务器+文件服务器相连接 设置通信协议 启动集群,重启工程 2)多节点集群配置: 部署其他工程节点 将第一个节点的webroot工程文件拷贝到其他工程节点 启动其他工程节点 详情请参见:Linux系统手动配置标准集群 |
8 | 配置负载均衡 | 1)参考文档修改nginx.conf文件:Linux系统安装配置Nginx 2)重启Nginx组件。 |
9 | 后续操作 | 1)参考文档提高产品安全性:产品安全加固指导手册 2)参考文档提高运维稳定性:运维监控指导手册 3)建议为集群配置运维平台工具:运维平台 |
集群方案三:手动部署高可用集群
操作步骤 | 说明 | |
---|---|---|
1 | 准备服务器环境 | 准备工程节点+负载均衡+状态服务器+文件服务器+配置库部署环境 推荐环境:工程部署推荐环境 支持环境:集群工程部署支持环境 |
2 | 部署外接数据库 | 部署数据库,作为工程的外接数据库备用,优先推荐高可用主备模式数据库 支持的数据库类型请参考:配置外接数据库 |
3 | 部署负载均衡 | 部署负载均衡,推荐Keepalived+Nginx 详情请参见:Keepalived+Nginx |
4 | 部署状态服务器 | 部署状态服务器,推荐使用Redis集群 |
5 | 部署文件服务器 | 部署文件服务器,优先推荐NFS 推荐级别:SFTP≈MinIO>NFS>FTP≈HDFS |
6 | 部署工程节点 | 部署一个工程节点 部署方法请参考单机部署的「部署包部署」或「独立部署」 部署后先不启动这些工程节点 |
7 | 配置开启集群 | 1)单节点集群配置: 为该配置外接数据库:配置外接数据库 将主节点与状态服务器+文件服务器相连接 设置通信协议 启动集群,重启工程 2)多节点集群配置: 部署其他工程节点 将第一个节点的webroot工程文件拷贝到其他工程节点 启动其他工程节点 详情请参见:Linux系统手动配置高可用集群 |
8 | 配置负载均衡 | 1)参考文档修改nginx.conf文件:Linux系统安装配置Nginx 2)重启Nginx组件。 |
9 | 后续操作 | 1)参考文档提高产品安全性:产品安全加固指导手册 2)参考文档提高运维稳定性:运维监控指导手册 3)建议为集群配置运维平台工具:运维平台 |
其他部署方式扩展阅读
中间件类型 | 部署参考文档 |
---|---|
Windows下Tomcat | Windows下Tomcat服务器部署包 |
Windows下Tomcat独立部署 | |
Windows下Tomcat嵌入式部署 | |
WebLogic | WebLogic 服务器文件夹部署 |
WebLogic 服务器 war 包部署 | |
WebSphere | WebSphere8.5 服务器部署 |
JBoss | JBoss6.4 服务器部署 |
Resin | Resin 服务器的部署 |