反馈已提交

网络繁忙

FineDataLink部署原理简介

  • 文档创建者:产品运营-Bernard
  • 历史版本:27
  • 最近更新:Wendy123456 于 2024-06-13
  • 1. 概述

    1.1 版本

    FineDataLink 版本
    4.0.1.1及以后

    1.2 功能简介

    为满足多类型客户的使用诉求,FineDataLink支持多种部署方式,支持独立部署、集群部署、容器化部署。

    本文简单介绍不同部署内容和部署方式的区别及优劣势。

    2. 集群与单机

    注:仅独立部署时,支持部署FineDataLink集群。

    什么是集群和单机?

    单机

    就是一个部署好的工程。

    集群

    集群(cluster)就是将多个相同的工程集中起来提供同一种服务,这些单个的工程就是集群的节点(node)。

    基于集群的横向扩展性,用户可通过增加节点数量使并发趋于线性增长,从而获得较高的并发支撑性能。

    同时也可以用多个工程做备份,避免单机不可用导致系统停止造成的损失(业务中断、数据丢失),确保系统 7*24h 稳定运行。

    集群的优势

    FineDataLink 集群具有高可用性、高性能、易于管理、可伸缩性和安全保障等优点:

    优势
    说明
    高可用性

    系统具备容灾热备能力

    帆软集群通过集群节点、负载均衡器、状态服务器等多个组件协同工作,有多个节点来分担处理请求的负荷。

    使用 FineDataLink 产品时,面对可能导致系统宕机的异常情况,系统本身有一定的容灾能力,能够保证数据的同步和处理持续不间断,应对可能出现的局部节点宕机、停机问题。

    高并发

    提高任务并发运行能力

    帆软集群允许并行处理多个定时和管道任务,通过多个节点从而实现任务的分布式处理,以及在使用数据服务时,分散某些请求频次比较高的API。

    使用 FineDataLink 产品时,在任务处理任务比较多的情况下,能通过增加节点数来提升任务的并发运行能力,从而提高整体的性能。

    注:定时任务的最小运行单元是节点,任务执行时会生成一个任务实例,任务实例内包含多个待运行节点。管道任务的最小运行单元是管道任务实例,任务运行时生成一个任务实例,实例内不会再进一步拆分。

    高并发逻辑为:将任务实例内的待运行节点均衡地分发到各集群节点执行,执行顺序基于任务内的设计。

    易于管理

    帆软集群提供了完整的管理平台,包括集群节点的监控、配置、部署和故障自动修复等功能,可以大大降低集群维护和运维的难度和风险,帮助企业更好地管理和维护系统。

    • 简单可视化配置,80% 的配置都可在平台上完成。

    • 支持热部署,增加删除节点无须重启集群,只需要拷贝节点文件即可。

    • 实时监控各节点的运行状态,对于节点宕机、节点间时间不一致等情况可以及时进行提醒。

    • 各节点间平台配置信息和资源文件修改更新能够实时同步。

    • 对于节点间JAR包不一致情况,启动时可自动检测对比并提醒。

    强扩展性基于良好的架构设计,Web集群具有良好的横向扩展性,帆软集群可以快速增加集群节点的数量,使并发趋于线性增长,以应对高峰期和流量波动,做到系统的可伸缩性和高效性。

    集群组件作用

    在搭建集群时,需要注意到这不是一件轻松简单的事情。

    为了提供无缝丝滑的服务,必须提高服务质量并组建一个优秀的车队。

    我们需要考虑如何构建一个良好的车队,这是集群架构需要解决的问题。

    组件
    说明
    工程节点

    集群节点就是一辆辆出租车。

    当某个出租车出现了故障,会自动安排其他出租车来代替它的工作,以确保整个车队仍然正常工作。

    帆软集群设计避免了主节点的概念,只将第一个加入集群的节点作为基准节点。每个节点都平等地提供服务和进行管理操作。

    每个节点都是一个可以独立运行的工程,负责处理用户的请求,处理任务和管理其他组件的工作。集群节点间通过一系列的网络协议和服务进行通信和协作。

    负载均衡

    负载均衡就像出租车队的调度中心,用于协调和分配所有的工作和请求。 

    在接待客户时,负载均衡作为统一入口,负责对接客户,不需要让客户一个个询问司机。

    在集群中,负载均衡用于分配任务到各个节点上,使它们能够更高效地工作。 

    负载均衡器会在所有节点之间平衡负载,确保每个节点的web端请求都分配到足够的任务并保持忙碌状态。

    服务注册中心

    保证调度端,即定时任务、管道任务内节点的执行调度的高可用性和高并发。

    任务节点调度任务在单个工程节点出现故障时,转移至其他正常节点保证正常使用;同时将任务实例均衡地分发到各集群节点执行,确保多个调度任务能同时正常运行。

    外接数据库

    配置库,即外接数据库FineDB,类似于出租车队的车管所。 

    它存储并维护所有车辆和司机的信息,为每个司机提供相同的车辆装饰、报价、出行路线等信息。让每一辆车都给顾客提供一致的出行体验。

    在集群中,配置库用于存储和维护所有节点的配置信息和参数,这些参数是为了使集群节点协调工作而必须合理设置的。

    状态服务器

    保证 web 端高并发,基于负载均衡配置的转发逻辑,将用户的请求均衡地分发到各个节点进行响应,包括:

    • 用户使用平台的请求

    • 数据服务的API请求

    文件服务器文件服务器类似于出租车队的存储仓库。

    它存储所有与车队相关的文件,包括车辆维护记录、保险单、车辆位置数据等。

    在集群中,文件服务器用于存储和共享集群中所需的文件和数据资源,以确保每个节点都可以访问并使用它们。

    帆软集群的架构非常灵活,可以根据不同的业务需求和特点进行配置。想要开启集群必须至少满足以下条件:

    1)有1个以上工程节点

    2)节点配置了外接数据库

    3)节点配置了状态服务器

    4)如果有2个以上工程节点,则必须配置文件服务器

    5)节点配置了 Nacos 服务注册中心

    支持范围

    FineDataLink 4.0.27 及以上版本支持数据开发使用集群;

    FineDataLink 4.0.30 及以上版本支持数据管道、数据服务使用集群;

    支持独立部署的 FineDataLink 工程作为集群的工程节点;不支持和 FineReport 、FineBI 工程作为节点共同组成集群。

    4. 容器化部署与传统部署

    什么是容器化部署和传统部署?

    传统部署:

    用户可以自行准备部署包,搭建最普通的工程架构,即「FineDataLink工程+jdk环境+tomcat中间件」

    容器化部署:

    将应用“容器化”的过程,就是让应用能够运行在 Docker 容器或类似技术中,它们能将操作系统环境和应用封装在一起(完整的系统镜像)。

    由于容器能给应用提供近似于完整系统的环境,这就为在不修改,或者少量修改应用的情况下,对应用的部署进行现代化改造提供了一种思路。

    这也是应用的架构持续能保持“云友好”的基础。

    容器化部署的优势

    相比于传统部署架构,容器化部署可大幅降低客户的维护成本和资源成本。

    1)维护成本低

    • 每个工程的环境相互隔离,出现异常时影响范围小。

    • 升级、灾备、回滚方便。

    2)资源成本低

    • 多集群管理、多租户、微服务化,更高资源使用率。

    • 资源弹性伸缩。

    容器化部署和传统部署的区别

    容器在整个应用程序生命周期工作流中提供以下优点:隔离性、可移植性、灵活性、可伸缩性和可控性。

    最重要的优点是可在开发和运营之间提供隔离。

    对比项
    传统方式部署容器化部署
    JVM初始配置

    需要自行手动修改 Tomcat 配置文件或其他容器对应配置文件

    大部分用户可能不会完全配置,导致后续业务上出现异常

    默认已经在镜像中配置好了常用的所有jvm参数,避免大多jvm参数造成的问题

    yaml文件中可以单独配置Xmx内存上限

    负载均衡

    需要单独安装 Nginx 或其他负载软件,并进行转发配置

    存在用户可能缺少很多配置,导致某些业务出现异常

    可以根据需要配置keepalived+nginx的高可用架构

    一键部署时,默认自动安装好nginx且已自动配置好(不支持其他负载)

    避免因客户自行配置错误或缺失导致的问题

    硬件要求虽然有推荐,但没有强制

    强制要求所有节点的磁盘空间和内存

    防止在不适合的硬件环境中部署工程,埋下隐患

    组件要求没限制,所有产品支持的组件都可以配置

    没限制,所有产品支持的组件都可以配置

    同时支持mysql、redis和minio的部署

    操作系统要求基本无限制

    支持 amd64 架构的 Linux 系统

    centos7.3 以下版本不支持

    ubuntu18 以下版本不支持

    防止因操作系统版本过低,导致工程运行出现问题

    防火墙要求需要对应服务器开放使用到的端口即可

    必须开放所有节点所有组件使用的端口,否则无法部署

    确保不因端口问题导致工程运行异常

    单机部署

    不配置外置库和其他组件的情况,上传部署包直接启动即可

    否则需要单独配置外置库和组件以及需要的环境、如jdk

    本机root用户可以一键部署

    支持在yaml文件中配置相关节点和组件信息后部署

    支持通过yaml文件配置用户原有的组件

    权限要求需要保证文件权限

    普通用户需要sudo权限(已经安装好docker,且用户属于docker用户组则无需权限)

    cp

    tar

    rm

    groupadd

    gpasswd

    groups

    dockerd

    systemctl(docker服务开机自启需要,不强制)

    web容器配置修改修改如tomcat目录下的配置文件后重启tomcat可以通过运维平台实现前端修改
    jvm参数修改直接修改对应文件即可可以通过运维平台实现前端修改
    环境影响使用受到各种环境影响,如:jdk、glibc、系统字体、系统语言、系统时间等都可能造成某些业务问题FineDataLink应用使用docker容器部署,环境统一,只要能支持部署,基本没有环境影响

    5. 拓展阅读

    Linux 系统下的相关操作命令等详情参见:

    Linux常用命令

    Linux系统安装中文语言包

    Linux防火墙使用及配置

    若部署后需要进行升级或者其他系统运维操作时,可查看 FineDataLink 目录结构了解部署工程的后台目录文件

    详情参见:FineDataLink安装目录结构


    附件列表


    主题: 部署升级
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持