部署模式

本节主要介绍部署 FinClip小程序数字化管理系统 私有化部署的几种部署模式。

简介

  在业务系统运行之前,我们需要针对业务架构进行规划。我们希望小程序平台在满足业务用户访问的同时,尽可能节省服务器和网络资源,同时,对于业务生产环境,我们还会通过架构优化调整,以提升系统的可用性、扩展性和可维护性。

单节点

  在产品功能验证(POC)和测试环节,我们通常希望快速体验小程序平台功能,在这种情况下,简便快速的部署是最合理的交付方式,FinClip小程序数字化管理系统支持单节点部署模式,顾名思义,单节点部署模式就是将所有后台服务运行在一台服务器中,单节点的部署架构适合做测试环境,由于小程序平台采用高性能的编程语言构建,单节点部署也能支撑一定量的用户访问,因此,这种部署模式也适用于对容灾没有要求,或整体业务规模较小的客户使用。

在单节点部署模式中,所有服务将部署在一台服务器中:

role1

资源配置:

配置CPU内存储存空间部署服务TPS
最低配置4 核8 GB100 GB数据库、缓存和FinClip微服务5k
推荐配置8 核16 GB200 GB数据库、缓存和FinClip微服务8k

系统:

  • 芯片架构: X86
  • 操作系统: CentOS 7.9 或 Ubuntu 22.04 、 KylinOS V10 等


集群部署

  FinClip 所有组件支持集群模式部署。对于业务生产环境, 我们建议采用集群模式部署。集群模式部署能够提供一定程度的、软件层面的故障转移能力。集群模式部署在提供更高的业务访问能力的同时,还能支持动态扩展,当业务系统访问量增高时,我们可以增加计算资源来扩大业务系统规模。另一方面,采用集群模式部署的的FinClip也能提供更好的运维可维护性。

架构概述

  FinClip 后端服务采用 Golang 语言编写,系统架构采用微服务架构,每个服务经过编译之后会被打包成容器,我 们采用业界主流的容器管理平台进行服务编排, 因此,我们大部分运维能力,包括服务的故障转移、动态扩容、资源管理等能力都是依赖于容器平台实现。此外,FinClip 还依赖部分成熟的开源组件作为基础设施,以实现 业务系统中的数据存储、缓存等.

以下是架构图:



小规模集群

  小规模集群的部署架构提供最小规模的高可用,需要使用四台服务器,其中四台服务器只能宕机一台,适合绝大部分的、对高可用与故障隔离具有较小要求的客户。

小规模集群将采用 Kubernetes 的方式部署,所需的配置可以参考下表▼:

用途CPU内存储存空间数量参考 TPS
业务服务8 核16 GB500 GB4 台3w
运维管理(可选)8 核16 GB500 GB1 台-

角色分配可以参考下图▼:



系统:

  • 芯片架构: X86
  • 操作系统: CentOS 7.9 或 Ubuntu 22.04 、 KylinOS V10 等

部署说明: 所有服务将均匀部署在四台服务器中, 数据库和缓存系统使用docker compose部署在主机,业务服务使用Kubernetes进行部署,均匀分布在四台服务器。

中大规模集群

  集群模式部署能够提供一定程度的、软件层面的故障转移能力。大规模集群的部署架构适合对可扩展性、灾备等指标有要求的客户使用。该架构的集群设计上主要关注在于故障隔离、故障恢复、可拓展性等方面。

  大规模集群的服务器数量没有上限,支持多活、多机房部署,可根据业务规模、灾备要求自定义。相比小规模集群,大规模集群可以提供更高的QPS,更好的性能以及更好的扩展性。


大规模集群将采用 Kubernetes 的方式部署,所需的配置可以参考下表(磁盘建议使用SSD)▼:

用途CPU内存储存空间数量参考 TPS
业务服务8 核16 GB500 GB8 台6w
运维管理8 核16 GB500 GB1 台-

角色分配可以参考下图▼:



系统:

  • 芯片架构: X86
  • 操作系统: CentOS 7.9 或 Ubuntu 22.04 、 KylinOS V10 等

部署说明: 与小规模部署类似,不过,大规模集群部署采用更多的服务器,业务服务与基础服务分离, 微服务采用更多的实例数部署,以承担更高的用户访问。