历史版本16 :FineBI6.0非容器化集群工程部署支持环境及配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

概述编辑

本文简单介绍:

  • 部署帆软集群时支持的部署环境

  • 部署帆软集群时必须满足的要求

  • 集群组件支持的类型

注1:本文列出的是全量的部署支持环境。建议您参考该文档选择最适合的部署环境:工程部署推荐环境

注2:本文列出的是帆软测试通过的环境。

  • 本文未提及的更低版本,一般默认不支持

  • 本文未提交的更高版本,用户可自行测试验证。如果使用后出现问题,付费用户可联系技术支持获取帮助。技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。

注3:对于各类集群组件(例如Nginx/Redis/外接数据库等),文档仅列出支持的版本,具体部署方法建议优先查询具体厂商文档。

通用服务器要求编辑

服务器操作系统

优先推荐使用 Linux 操作系统部署帆软应用和集群组件。

  • 系统版本:Ubuntu 18.04.4 及以上

  • 系统内核:3.10 及以上

  • 系统架构:X86_64

注:Linux和Windows对比分析请参见:Linux和Windows对比分析

类别

操作系统

已验证版本号

LinuxCentos6  Centos 6.5、Centos 6.6、Centos 6.7、Centos 6.8、Centos 6.9
Centos7

Centos 7.0、Centos 7.1、Centos 7.2、Centos 7.3、Centos 7.4

Centos 7.6、Centos 7.8、Centos 7.9

RedHat6RedHat 6.5、RedHat 6.6、RedHat 6.7、RedHat 6.8、RedHat 6.9
RedHat7

RedHat 7.0、RedHat 7.1、RedHat 7.2、RedHat 7.3、RedHat 7.4

RedHat 7.7

UbuntuUbuntu 10.04.4、Ubuntu18.04、Ubuntu 20
Amazon LinuxAmazon Linux AMI release 2018.03
Windows

Windows Server 2008 及以

Windows 11

服务器磁盘空间

目录
作用配置要求
工程部署用于部署工程,存放工程模板资源文件等

500G以上

根目录

存放内容:

对于帆软应用,指系统使用时的临时缓存.FineBI60

对于集群组件,指组件运行时的各种缓存

目录位置:

1)对于linux系统中root用户启动的工程

根目录在/root下

2)对于linux系统中非root用户启动的工程

根目录在/home/$用户名/下

3)对于Windows系统中启动的工程

根目录在C:\Users\用户名

不小于40G
/usr目录默认日志存放路径不小于15G
/home目录文件服务器存储目录,存放模板等资源文件不小于10G

服务器端口准备

1)中间件、文件服务器、状态服务器包含多种,请根据选择的情况自行开放端口。

2)端口是否被占用请参见:端口占用查看。如果默认端口与其他工程有冲突,需要先修改端口,再开放对应的端口。

3)若同一个服务器部署多个 Tomcat 工程,需要修改 Tomcat 端口号以防端口冲突,具体可参见:修改Tomcat端口号

4)若防火墙开启,需要开放相关端口号:

5)对于 docker 容器,或者服务器之间端口严格限制的环境,需要对节点的服务器之间开放端口,用于节点间通信。

  • 选择 TCP 协议是 7800/7810/7820/7830/7840/7850/7860/7870 八个端口

  • 选择 UDP 协议是 45588~65536 随机端口

分类
内容端口备注
负载均衡Nginx80 或 443外部端口,必须对外开放,可修改(nginx.conf),是集群系统入口端口,其他负载均衡的端口请自行配置
中间件Tomcat8080外部端口,可不对外开放,可修改(server.xml),SSL、短地址等在负载均衡层面配置
WebLogic7001
WebSphere9080
消息通知Websocket 端口48888/49888

详情请参见:

容器Websocket方案

集群配置WebSocket端口

Websocket 转发端口48889
文件服务器FTP
20、21内部端口,可修改(自行操作)
SFTP22内部端口,不可修改
HDFS9000内部端口,可修改(自行操作)
状态服务器redis 单机6379内部端口,可修改(redis.conf)
redis 集群/内部端口,根据配置情况自行修改(redis.conf)
集群节点通信集群节点内部通信7800、7830、7840、7850、7870只需要节点互相之间开放即可

服务器网络要求

1)公网环境和内网环境均可部署帆软应用和集群组件。如下表所示:

类型
带宽网段
公网10M 以上各个工程节点、集群组件、外接数据库处于同网段
内网内网一般都是百兆/千兆带宽,故对带宽不做要求各个工程节点、集群组件、外接数据库处于同网段

2)各个工程节点、集群组件、外接数据库间需要支持通信。

工程部署要求编辑

服务器配置要求

帆软应用支持单机和集群部署,集群则为多个工程节点。

每个节点都是一个可以独立运行的工程,负责处理用户的请求,处理生成仪表板的任务和管理其他组件的工作。

一个服务器只能部署集群的一个工程节点,因此需要几个工程节点就要准备几个服务器。

本文以三种场景进行配置推荐。若您的FineBI工程涉及多个场景,选择其中的最高配置作为推荐配置即可。

用户需要先参考 直连数据&抽数数据简介 判断自己使用的是「实时数据」还是「抽取数据」。

用户维度说明:

用户类型
说明
日活用户数一日之内,FineBI工程登录的用户数
在线用户数同一时刻,FineBI工程上登录了的用户数
并发用户数

同一时刻,在FineBI工程上做操作的用户数

即多少用户同时对服务器发送请求,即服务器同时处理多少用户发送来的请求

lic注册时的并发限制

根据 IP 地址进行统计,服务器从请求中获取 IP 地址,作为一个并发key

主要限制访问系统的累计 IP 数。Lic 的该参数和下文用户数无关联

直连数据

场景说明:只使用直连数据,不使用抽取数据

集群节点间、节点与其他组件间带宽 1000Mb/s。

根据工程的并发及数据源 DB 的计算能力,落在多个配置区间时选较高的配置;

编辑并发对应缓存不命中;

并发用户数/秒的上限对应缓存命中,下限对应缓存不命中。

日活用户数

在线用户数

每小时

并发用户数

每秒

编辑

并发数

数据源计算能力

每秒处理的计算数

推荐配置
最低配置
500<100<20<20<10单机,节点满足:

CPU:8 核 16 线程 2.5GHZ

JVM 内存:16GB

物理内存:24G

单机,节点满足:

CPU:4 核 8 线程 2.5GHZ

JVM 内存:8GB

物理内存:12G

2K100~1K40~9010~4010~20

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:16GB

物理内存:32G

单机,节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:16GB

物理内存:24G

3K600~1.5K60~13030~60≥30

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:16GB

物理内存:24G

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:24GB

物理内存:48G

4K600~2K60~17060~80≥30

4节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:16GB

物理内存:24G

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:24GB

物理内存:48G

抽取数据:高日活自助分析

场景说明:日活用户较高的FineBI工程,用户自助分析数据(对应 FineBI 查询不命中缓存)。

节点数概要估算并发:在线用户数 Y = 300 * (节点数 X-1) + 400 。

磁盘吞吐率和带宽要求大于 100MB/s(普通本地硬盘 HDD 性能),推荐 SSD固态硬盘。

JVM 内存≠整机内存,推荐 JVM 内存占整机内存的 2/3 ~ 3/4 。

在线用户数

每小时

并发用户数

每秒

编辑

并发数

表数量/表大小

推荐配置
最低配置
<100<20<20<100张/<1T单机,节点满足:

CPU:8 核 16 线程 2.5GHZ

JVM 内存:16GB

物理内存:32G

单机,节点满足:

CPU:8 核 16 线程 2.5GHZ

JVM 内存:16GB

物理内存:32G

300~1K20~7010~40<100张/<1T

2节点集群,每个节点满足:

CPU:8 核 16 线程 2.5GHZ

JVM 内存:16GB

物理内存:32G

单机,节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

600~2K40~12030~60>2k张/>1T

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:24GB

物理内存:48G

900~3K50~16050~80>4k张/>2T

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:24GB

物理内存:48G

1.2K~3.5K60~19070~100>5k张/>3T

4节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

1.5K~4K80~22080~200>5k张/>3T

5节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

4节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

抽取数据:并发查看仪表板

场景:对应用户并发查看报告等场景。即通常5-10分钟内累计访问用户数Y(对应FineBI查询缓存全命中,即多个相同计算请求引擎可以直接命中返回结果)。

节点数概要估算并发:  5分钟并发用户数 Y = 380*节点数X

每秒请求用户数达到160时,对负载均衡服务器的下载速度要求较高,需要达到100MB/s。

JVM 内存≠整机内存,推荐 JVM 内存占整机内存的 2/3 ~ 3/4 。

用户数

每5分钟

用户数

每秒

推荐配置
最低配置
~400402节点集群,每个节点满足:

CPU:8 核 16 线程 2.5GHZ

JVM 内存:16GB

物理内存:32G

单机,节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

400~80080

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

2节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:24GB

物理内存:48G

800~1.1K110

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:24GB

物理内存:48G

1.1K~1.6K160

4节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

3节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

1.6K~2K190

5节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

4节点集群,每个节点满足:

CPU:16 核 32 线程 2.5GHZ

JVM 内存:32GB

物理内存:64G

服务器其他要求

分类
说明参考文档
语言要求使用中文的用户将工程部署到 Linux 系统时,需确认系统中是否有中文语言包Linux 系统安装中文语言包
权限要求为保证工程正常运行,最低要给工程文件夹 755 权限Linux文件权限配置
时间要求

请检查各工程节点服务器系统时间是否一致

不一致可能会导致集群不可用及同步问题

Linux 系统如何配置各个节点的时间一致性?

中间件要求

容器化部署/部署包部署无需准备本节内容,产品均内置了 JDK 和应用服务器,内置的 JDK 都为 OpenJDK 。

独立部署需要准备本节内容。需要自备应用服务器和 JDK 。

FineBI 是纯 Java 的 Servlet 应用程序,必须部署在 Tomcat、WebLogic、WebSphere 等中间件下。

启动中间件时就会加载 FineBI 这个 Servlet应用程序,工程才能正常运作。

中间件中间件版本JDK 版本
Tomcat

推荐使用 Tomcat8 最新版本

注:使用推荐版本可减少因 Tomcat 版本过低导致的安全问题。

支持Tomcat7.0~9.0 版本

不支持 Tomcat10.0 版

JDK 1.8 且小版本需在 JDK8u102 以上

注1:JDK 版本若不符合这个要求,部署启动时可能会遇到问题

注2:JDK 版本必须要与操作系统对应,如 32 位的系统只能使用 32 位的 JDK

注3:不支持 OpenLogic OpenJDK 。

WebLogicWeblogic12.2.1.3 及以上
WebSphereWebSphere8.5
JBossJBoss6 及以上
ResinResin-4.0.58

1)中间件部署注意事项:

  • 如需在docker容器上运行FineBI,请确保内存大于8G。

  • 建议使用解压版的 Tomcat 和 JDK。

  • 同一个中间件中不能部署多个 FineBI 工程。

  • 用户环境若安装多个 Tomcat ,不建议用户环境变量配置 CATALINA_HOME 或者 TOMCAT_HOME 。否则不论用户启动哪个 Tomcat ,启动的都是 CATALINA_HOME 指定的那个。

  • 中间件不应安装在同时运行资源密集型应用程序(例如数据库或应用程序服务器)的物理计算机或 VM 虚拟机上。

    CPU 推荐,需要保证 FineBI 实际可以占用的资源达到 80%。

2)Windows 系统安装 JDK注意事项:

  • 环境变量 JAVA_HOME 一定要有,Path 下一定要有%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

  • 若环境变量指向的%JRE_HOME%/bin下无 attach.dll 文件,还需将%JAVA_HOME%/jdk/jre/bin下的 attach.dll 拷贝到此路径下,否则 Tomcat 启动后会报错:fine assist start failed

应用工程准备

容器化部署/部署包部署无需准备本节内容,产品内置了全新工程。全新工程部署后,平台登录的用户名和密码需要自己设置。

独立部署需要准备本节内容。

  • 部署工程需要准备%BI_HOME%\webapps下的 webroot 文件夹。

  • 需提前准备好工程,已有的工程或者重新 下载最新的工程 。

  • 若使用已有的工程进行部署,平台登录的用户名和密码是已有工程的。

外接数据库要求编辑

数据决策系统中除平台属性配置以外的所有信息,包括目录树设置、模板定时任务信息等,均存储于一个数据库中。

它管理和存储了工程节点的各种配置信息,保证各个节点的配置一致性,并方便管理员集中管理工程的元数据。

无论是单机还是集群,正式工程均建议配置外接数据库。

服务器配置要求

占用空间需要结合使用度进行调整,可以根据webapps/webroot/WEB-INF/embed/finedb文件夹大小配置,并根据实际大小预估未来使用大小,增大1~2倍。

外接数据库尽量和工程节点在同一网段,避免网络波动等问题。

如有条件,建议负载均衡、状态服务器、文件服务器、外接配置库组件分别部署在不同的服务器上,如条件不足,至少确保有单独的服务器部署这些组件。

配置类型
最低配置推荐配置
服务器数量1

2,主从模式

物理内存8GB16GB
CPU

2.4GHz以上

4核8线程

2.5GHz以上

8核16线程

网速
50Mbps100Mbps
可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

100G以上

其中根目录可用磁盘不可小于40G

磁盘读写速度50MB/s100MB/s

数据库类型要求

非容器化部署需要准备本章内容。容器化部署无需准备本节内容,会自动安装MySQL数据库并外接。

数据库类型支持数据库版本配置方法
RDS MySQL-配置MySQL5外接数据库
MySQL5.1.73、5.5.31、5.5.46、5.5.56、5.6.22、5.6.31、5.7.16

8.0.11,8.0.16,8.0.20

配置MySQL8外接数据库
Oracle10g、11g、12c配置Oracle外接数据库
SQL Server2000、2005、2008、2012、2014、2016配置SQL Server外接数据库
2017
DB29.7、8.2、11.1配置DB2外接数据库
PostgreSQL9.4.7、9.5.0、9.5.2、9.6.0配置PostgreSQL外接数据库

负载均衡要求编辑

在帆软集群架构中,负载均衡器是连接用户和集群节点之间的组件,以确保用户请求能够合理分配到不同的集群节点上。

负载均衡器可以通过各种算法来分配用户请求到不同的节点上,以获得更好的性能和负载均衡效果。

服务器配置要求

配置类型说明
服务器数量

如有条件,建议负载均衡、状态服务器、文件服务器、外接配置库组件分别部署在不同的服务器上

如条件不足,至少确保有单独的服务器部署这些组件

物理内存8G
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

GCC编译器

Nginx 在 Linux 系统上的部署依赖 GCC 编译器

请保证系统具备 GCC 编译环境

查询命令:gcc -v

安装命令:yum install gcc gcc-c++

网络要求

1)各个组件和应用工程建议在同一网段,避免网络波动等问题

2)各个组件和应用工程如处于公网环境,带宽需在10M以上

3)各个组件和应用工程之间需要网络畅通,互相端口可访问

负载均衡类型要求

非容器化部署需要准备本章内容。容器化部署无需准备本节内容,会自动安装Nginx

高可用集群推荐使用Keepalived+Nginx,标准集群推荐使用Nginx。

不支持 Apache 负载均衡。

负载均衡
简介
Keepalived+Nginx

简介:

Keepalived+Nginx是一种实现高可用性和负载均衡的可行方案。

Keepalived通过监控多个Nginx服务器的状态,当某个服务器出现故障时,它可以自动接管该服务器的IP地址,并将所有请求转发到其他正常的服务器上。

这样可以保证Web服务的高可用性,避免单点故障导致的服务中断。

优点:

高可用性:Keepalived可以监控服务器状态,并自动进行故障转移,确保服务的高可用性。

负载均衡:Nginx将请求分配到不同的服务器上,实现负载均衡,提高系统的性能和吞吐量

反向代理:Nginx提供了反向代理功能,将请求转发到不同的Web服务器上,保证了Web服务的高效性

缺点:

配置复杂:Keepalived+Nginx需要进行复杂的配置,需要一定的技术水平和经验

需要更多的硬件或虚拟资源,需要至少两个服务器,需要增加硬件或虚拟资源的投资

文档:

Keepalived+Nginx部署方案

Nginx

简介:Nginx是一款高性能、高可靠性、开源的Web服务器和反向代理服务器

广泛应用于负载均衡、Web缓存、安全控制等领域

优点:

支持多种反向代理和负载均衡算法,高性能和高并发处理能力,配置简单,易于扩展

在 Linux 系统上具备很好的并发性能,并且占用极小的内存,稳定性和性能经过充分验证

缺点:

不同模块之间的整合不够完整,对于新手可能有一定的门槛

在 Windows 系统上,若并发需求超过 200,可能会出现并发问题

文档:

Linux 系统安装配置 Nginx

Windows系统安装配置Nginx

Traefik

简介:Traefik是一款现代化、动态负载均衡工具,主要用于Windows系统

优点:

无需安装,只要在命令行里执行即可,部署和使用非常简单

支持自动化更新反向代理和负载均衡配置

在 Windows 系统上具备良好的性能

缺点:部分功能需要高级版本,升级版本不够稳定

文档:windows系统安装配置Traefik

AWS ELB

简介:AWS ELB是亚马逊云计算服务中提供的一种负载均衡服务,包括经典负载均衡、应用程序负载均衡和网络负载均衡三种类型,可以实现不同协议的负载均衡

优点:可用性和可靠性,支持多种协议,可快速部署,方便维护

缺点:费用较高,配置和权限管理较为复杂

F5

简介:F5是一家网络应用服务公司,推出的产品包括负载均衡、应用安全等

优点:高可用性和可靠性,支持多种应用场景和应用类型,提供高级应用安全解决方案

缺点:价格较高,配置较为繁琐,需要一定的技术支持

状态服务器要求编辑

状态服务器是一个服务组件,用于存储集群节点的状态信息,如节点的运行状态、负载、任务处理情况等。

它可以辅助动态分配任务到合适的节点上,并帮助管理员进行实时监控和调度集群状态。

服务器配置要求

配置类型说明
服务器数量

如有条件,建议负载均衡、状态服务器、文件服务器、外接配置库组件分别部署在不同的服务器上

如条件不足,至少确保有单独的服务器部署这些组件

JVM/物理内存4g/8g
CPU2.5GHz以上

8核16线程

可用磁盘空间

100G以上

其中根目录可用磁盘不可小于40G

GCC编译器

Redis 在 Linux 系统上的部署依赖 GCC 编译器

请保证系统具备 GCC 编译环境

查询命令:gcc -v

安装命令:yum install gcc gcc-c++

网络要求

1)各个组件和应用工程建议在同一网段,避免网络波动等问题

2)各个组件和应用工程如处于公网环境,带宽需在10M以上

3)各个组件和应用工程之间需要网络畅通,互相端口可访问

状态服务器类型要求

非容器化部署需要准备本章内容。容器化部署无需准备本节内容,会自动安装Redis单机

帆软集群方案中支持的状态服务器有:Redis单机、Redis集群、Redis哨兵

高可用集群推荐使用Redis集群,标准集群推荐使用Redis单机。

状态服务器
说明
Redis单机

简介:

Redis单机模式是Redis最简单的部署方式,只部署一个 Redis 应用

使用起来也最为简单,只有主机、端口、密码三个配置项

优点:易于配置和管理,无需考虑数据的分片和集群等问题,运维成本低

缺点:容易出现单点故障,容量受到单台服务器的限制,不能实现高可用性和负载均衡。

文档:

Linux 系统安装配置单机 Redis

Windows系统安装配置单机Redis

Redis集群

简介:Redis集群是一种基于分片的Redis部署方式,它将数据分散到多个节点中,从而可以实现横向扩展和高可用性。一般是6个Redis节点,组成三主三从的模式提供服务

优点:
主节点宕机后,基于投票机制从节点可自动上升为主节点,可让 Redis 服务更加高可用
数据分区存储在不同的主节点上,可以大幅度提升 Redis 服务的性能支撑
缺点:
Redis 集群对资源的要求比较多,运维成本也会更高,至少需要三台服务器,建议准备6台

由于数据分区存储,所以当一个主节点及其对应的从节点全部宕机后,整个 Redis 集群将不能使用

当存活的主节点数小于总节点数的一半时,整个 Redis 集群也会无法提供服务
文档:linux系统安装配置Redis集群

Redis哨兵简介:Redis哨兵是一种集中式的Redis高可用性解决方案,它会自动监测Redis节点状态,当某个节点失效时,自动进行故障转移。主要由一个主节点多个从节点和多个哨兵组成,一般就是一主二从三哨兵

优点:

提供较好的高可用性,对于Redis单机和Redis集群都适用

Redis哨兵只有一个主节点,当主节点宕机时,哨兵会选举一个从节点上升为主节点

缺点:

需要占用一定的系统资源,需要定期检查Redis的状态,不能实现水平扩展

Redis哨兵读写性能没有Redis集群好,因为Redis集群有多个主节点可以读写,所以不支持高并发

文档:Redis 哨兵模式插件

文件服务器要求编辑

文件服务器是集群中存储报表数据和附件的组件,它可以集中管理和共享集群节点之间的文件,确保文件数据的一致性和高可用性。

由于各个节点都是从同一个文件服务器读取资源文件,不涉及到同步,各个节点读取的资源文件永远会保持一致性。

服务器配置要求

配置类型说明
服务器数量

如有条件,建议负载均衡、状态服务器、文件服务器、外接配置库组件分别部署在不同的服务器上

如条件不足,至少确保有单独的服务器部署这些组件

物理内存8g
CPU2.5GHz以上

8核16线程

可用磁盘空间

500G~1T

其中根目录可用磁盘不可小于40G

后续请根据使用情况扩展

用户权限Linux系统安装FTP时需要使用最高用户(root),否则不能进行,若不安装FTP则可不考虑这一要求
网络要求1)各个组件和应用工程建议在同一网段,避免网络波动等问题

2)各个组件和应用工程如处于公网环境,带宽需在10M以上

3)各个组件和应用工程之间需要网络畅通,互相端口可访问

文件服务器类型要求

非容器化部署需要准备本章内容。容器化部署无需准备本节内容,会自动安装MinIO

帆软支持多种文件服务器,下面会对各个类型的文件服务器优缺点进行说明。

高可用集群推荐使用NAS,标准集群推荐使用SFTP。

推荐级别:SFTP≈MinIO>NFS>FTP≈HDFS

类型优点
SFTP

简介:SFTP是一种通过SSH协议进行加密的文件传输协议,

优点:部署简单,是Linux系统自带的,相对于FTP而言更加安全和稳定

缺点:

非高可用方案,宕机后会影响整个服务的使用

由于 SFTP 的传输方式使用了加密/解密技术,所以传输效率比普通的 FTP 要低得多

文档:

Linux 系统配置使用 SFTP

Windows系统配置使用SFTP

FTP

简介:FTP是一种文件传输协议,可以通过FTP服务器实现文件上传、下载和管理等功能

优点:稳定性高,性能好,读写速度高

缺点:非高可用方案,宕机后会影响整个服务的使用

文档:

Linux 系统安装配置 FTP

Windows系统配置FTP服务

HDFS简介:HDFS是Hadoop分布式文件系统的缩写,是基于分布式存储架构的文件系统,可以存储大规模的数据文件,并支持大数据分析和挖掘等操作

优点:高可用方案,分布式文件系统,具备高度容错性

缺点:部署难度大,运维成本高,建议已经有HDFS服务的公司选用此方案

文档:HDFS 资源仓库

MinIO

简介:MinIO是一个轻量级的开源对象存储服务器,可以运行在任何环境中,并且支持各种云存储API

优点:MinIO具有易于部署和管理、高性能和低成本等优点

缺点:在工程化方面还存在一些不足

文档:MinIO资源仓库

S3

简介:使用支持 S3 协议的云存储文件系统作为文件服务器,包括阿里云 OSS 、华为云 OBS 、亚马云 S3

优点:云存储,高可用方案,具备高度容错性,已有此类存储的客户对接很方便

缺点:

只支持部分S3,自建的S3不一定支持

备份还原类场景可能存在卡顿

文档:S3资源仓库

共享外部目录

简介:共享外部存储是一种将外部存储器与服务器挂载的方式,可以实现共享文件夹和网络共享等功能

优点:

硬件存储(NAS):稳定性高,存储空间一般都比较大

软件存储(NFS):部署简单,方案成熟

缺点:

硬件存储(NAS):成本高,且非完全的高可用,宕机后也会影响服务

软件存储(NFS):非高可用,服务端宕机后,客户端就无法再提供服务

文档:共享外部目录

集群其他配置要求编辑

缓存模式

增加了缓存模式,前端可进行选择,缓存和文件服务器搭配使用时可以增加文件服务器的高可用性,下面介绍一下如何选择。

1)缓存功能

缓存的资源文件:包含报表文件、仪表板文件、配置文件、地图数据等,目前是"reportlets/" ,"resources/", "assets/","dashboards"四个文件夹。

主动缓存:启动工程时会缓存所有资源文件,后续使用和被动缓存基本一致。

被动缓存:仅对访问到的资源文件进行缓存。

2)缓存作用

优点:

  • 提高文件服务器的高可用性,若使用文件服务器时开启了缓存,当文件服务器宕机时,系统从缓存中读取资源文件,仍可正常对外提供服务。

  • 缓存避免了频繁的文件读写,速度更快,可大幅提高模板的访问性能。

缺点:

  • 缓存会占用系统内存和硬盘资源。

  • 因为集群分裂等不稳定的情况,缓存偶尔也会存在不同步的情况,此时可通过界面手动刷新缓存进行同步

总结一下,开启缓存功能可以大幅提高工程的性能,并且配合文件服务器使用时,可提高系统的高可用性,建议使用文件服务器时考虑开启缓存。

通信协议

帆软集群支持 TCP 和 UDP 两种通信协议,目前默认是 TCP 协议,下面列举两种协议的区别:


TCP  UDP  
连接  基于连接无连接
对系统资源的要求较多较少
程序结构复杂简单
数据正确性保证不保证
数据顺序性保证不保证
应用场景
网络负担重,对响应速度要求高 
socketsocket(PF_INET,SOCK_STREAM,0)socket(PF_INET,SOCK_DGRAM,0)
数据收发send/recvsendto/recvfrom
地址信息确定在 connect/accept 时确定在 sendto/recvfrom 函数中每次均需指定地址信息

其中需要注意的是,大部分云服务器(阿里云、亚马逊云等)都不支持UDP协议,因此只能选择TCP协议。

若服务器对TCP/UDP协议均支持,当节点数较少时选择TCP/UDP协议差异不大, 当节点数较多时,建议选择UDP协议,通信效率更高。