1. 概述编辑
1.1 版本
FineBI服务器版本 | FineKey工具版本 |
---|---|
6.0 | V1.5 |
1.2 应用场景
服务器部署一直都是比较繁重的运维操作,为了降低部署带来的较高成本,官方上线了容器化部署工具 FineKey 。
工具内置了最新版本的 docker 容器:包含 FR/BI 业务工程的镜像、各类组件镜像、Tomcat 镜像的镜像仓库。
使用该工具可以实现自动化部署,一条命令即可完成所有的部署工作,省心省力又高效。
1.3 架构简介
将应用“容器化”的过程,就是让应用能够运行在 Docker 容器或类似技术中,它们能将操作系统环境和应用封装在一起(完整的系统镜像)。
由于容器能给应用提供近似于完整系统的环境,这就为在不修改,或者少量修改应用的情况下,对应用的部署进行现代化改造提供了一种思路。
这也是应用的架构持续能保持“云友好”的基础。
2. 部署优势编辑
相比于传统部署架构,容器化部署可大幅降低客户的维护成本和资源成本。
1)维护成本低
每个工程的环境相互隔离,出现异常时影响范围小。
升级、灾备、回滚方便。
2)资源成本低
多集群管理、多租户、微服务化,更高资源使用率。
资源弹性伸缩。
3. 部署方式对比编辑
容器在整个应用程序生命周期工作流中提供以下优点:隔离性、可移植性、灵活性、可伸缩性和可控性。
最重要的优点是可在开发和运营之间提供隔离。
对比项 | 传统方式部署 | 容器化部署 |
---|---|---|
JVM初始配置 | 需要自行手动修改 Tomcat 配置文件或其他容器对应配置文件 大部分用户可能不会完全配置,导致后续业务上出现异常 | 默认已经在镜像中配置好了常用的所有jvm参数,避免大多jvm参数造成的问题 yaml文件中可以单独配置Xmx内存上限 |
负载均衡 | 需要单独安装 Nginx 或其他负载软件,并进行转发配置 存在用户可能缺少很多配置,导致某些业务出现异常 可以根据需要配置keepalived+nginx的高可用架构 | 一键部署时,默认自动安装好nginx且已自动配置好(不支持其他负载) 避免因客户自行配置错误或缺失导致的问题 |
硬件要求 | 虽然有推荐,但没有强制 | 强制要求所有节点至少500G磁盘空间和16G内存 防止在不适合的硬件环境中部署工程,埋下隐患 |
组件要求 | 没限制,所有产品支持的组件都可以部署配置 | 安装最适合工程的相关组件,防止安装不匹配的组件版本,防止出现问题后再补救性安装组件 应用服务器强制使用 Tomcat 容器 外接数据库支持安装 mysql 容器,可以配置已有的 mysql 和 oracle 负载均衡强制使用 nginx 状态服务器支持安装 redis 单机容器,可以配置已有的 redis 单机和 redis 集群 文件服务器支持配置 ftp、sftp、minio |
操作系统要求 | 基本无限制 | 支持 amd64 架构的 Linux 系统 centos7.3 以下版本不支持 ubuntu18 以下版本不支持 防止因操作系统版本过低,导致工程运行出现问题 |
防火墙要求 | 需要对应服务器开放使用到的端口即可 | 必须开放所有节点所有组件使用的端口,否则无法部署 确保不因端口问题导致工程运行异常 |
部署多套系统 | 只要端口不冲突,tomcat可以同时部署多个 | 一台tomcat服务器只能部署一套环境 保证工程环境隔离,防止因环境bug导致所有工程都宕机 |
单机部署 | 不配置外置库和其他组件的情况,上传部署包直接启动即可 否则需要单独配置外置库和组件以及需要的环境、如jdk | 本机root用户可以一键部署 支持在yaml文件中配置相关节点和组件信息后部署 支持通过yaml文件配置用户原有的组件 |
权限要求 | 一般只要文件权限即可 | 普通用户需要sudo权限(已经安装好docker,且用户属于docker用户组则无需权限) cp tar rm groupadd gpasswd groups dockerd systemctl(docker服务开机自启需要,不强制) |
web容器配置修改 | 直接修改如tomcat目录下的配置文件后重启tomcat即可 | 所有文件修改都需要进入docker容器内修改,然后重启docker容器,有一定技术门槛 |
jvm参数修改 | 直接修改对应文件即可 | 由于Xmx是环境变量的形式注入到tomcat容器中,修改需要在容器的tomcat/bin目录下创建setenv.sh文件,写上导入CATALINA_OPTS的环境变量的形式 |
环境影响 | 使用受到各种环境影响,如:jdk、glibc、系统字体、系统语言、系统时间等都可能造成某些业务问题 | FR/BI应用都使用docker容器部署,环境统一,只要能支持部署,基本没有环境影响 |