外观
部署方案
使用活字格开发的应用和用 C#、Java 编码开发的应用一样,需要运行在特定的运行平台上,与其他服务配合才能正常使用。根据项目的特点,您可以有针对性的设计出合适的部署方案,在有限的预算内,最大限度提升系统的可用性和性能。
完整的活字格运行环境由 3 个角色构成,这里的“角色”不是管理控制台上用于控制权限的角色,而是系统部署架构中的概念,指可独立部署,为系统运行提供某项服务的软件或套件。
- 活字格服务管理器:加载使用活字格开发的应用,为最终用户提供Web服务,类似于编码开发的 IIS/Tomcat;
- 数据库:存取业务数据和非业务数据(如用户、组、权限等);
- 文件存储:存取用户上传的图片、视频和附件等文件。
活字格云
【】如果您的应用规模术属于中小型,且没有精力投入在服务环境的搭建与运维上,那么活字格云是您最省心的选择。使用活字格云可以有效减轻运维负担和总体成本,提升系统的安全性和可用性。
📍 INFO
活字格云是官方提供的 PaaS 云平台,由以下角色构成:
- 服务器管理器:活字格官方运维的容器,独占资源,安装有活字格服务管理器程序;
- 文件存储:活字格官方运维的高可用文件服务;
- 数据库:标准的 MySQL、SQL Server 服务,独占资源,可选高可用服务。
在实际使用中,活字格云具备以下能力,帮助您构建安全可靠的系统运行环境。
- 连接:允许通过互联网(外网)访问该系统。
- 数据:允许将数据和服务存储在等保三级的公网服务。
- 规划:不需要将活字格服务器与其他服务或软件的服务器合并到一台主机。
私有化部署
【】如果您希望对机器持有完整的控制权,推荐采用私有化部署方式。
📍 INFO
私有化部署架构图:
根据预算和项目需求,生产环境的部署方案有单机、标准和集群3种;运维和开发环境也可以进行裁剪和调整。
部署方案 | 成本(服务器台数) | 可用性 | 性能 | 推荐的应用场景 |
---|---|---|---|---|
单机 | 1 | 中 | 低 | 简单或临时使用的应用 |
标准 | 2 | 中 | 中 | 非核心业务,使用频率不高的核心业务(如数据同步、流程整合等) |
集群 | >3 | 高 | 高 | 高频要求的核心业务场景(如生产排产、物流跟踪等) |
单机部署
顾名思义,就是将活字格服务管理器和数据库部署在同一台机器上。这是成本最低的部署模式,在性能和可用性上需要作出妥协。通常用于项目前期演示或技术验证,不推荐用于生产环境。
📍 INFO
单机部署架构图:
【】除非并发请求数量极低,否则不推荐使用内置库。
【】数据库需要占用内存和CPU资源,在评估机器的配置时,需要将数据库的要求纳入其中。
【】多数场景下,Linux 的安全性风险更低,推荐采用活字格官方支持的发行版本。
标准部署
适用于中小型应用或企业内部使用的场景。
📍 INFO
为了提升性能,我们推荐您将数据库从活字格服务管理器所在的机器上独立出来。这种做法需要用到 2 台服务器(应用/网关服务器 + 数据库服务器),虽然每台服务器的配置较单机部署更低,但总成本会稍高一些。
【】多数场景下,Linux 的安全性风险更低,推荐采用活字格官方支持的发行版本。
【】如果从单机部署迁移到标准部署,考虑到系统开销,两台服务器的总配置需要略高于原来的单机部署,如将 8C16G 拆分为 6C12G 和 4C8G。
【】两台服务器需部署在同一局域网,或云服务商的同一个内网(vNet)中,以确保数据传输速度。
【】活字格所需的硬件配置与用户数和应用场景有关,可参考在 活字格产品白皮书-产品环境支撑的推荐配置进行主机选型。
【】推荐采用 Nginx 做反向代理来实现日志、黑白名单等网关功能,点击查看配置方法,如果不采用反向代理,则需要在活字格服务器上启用 SSL 提供 HTTPS。
集群部署
一台服务器的处理能力终归是有上限的,您可以利用支持负载均衡技术的集群化部署,实现“横向扩展”,持续扩大系统的计算能力,更快速的响应大并发请求。在传统集群能力的基础上,活字格内建了下列功能,可以帮助我们快速完成部署和维护工作。
- 图形化的配置能力,包含:数据库、缓存服务、文件服务;
- 用户和角色等非业务数据自动同步,登录任意节点的管理控制台,均可对全集群的非业务数据进行修改;
- 应用自动分发,仅需对集群中的一个应用节点执行部署或更新,集群会自动将其同步到所有节点;
根据实际部署要求,有两种不同的搭建方式:在局域网中构建以及利用云服务商提供的基础设施搭建。集群部署的授权价格请详询葡萄城的商务人员。
🔎 在局域网中构建集群(反向代理模式)
以 nginx 为代表的成熟的反向代理服务器(Layer 7 软件负载均衡)在性能和可靠性方面与传统的Layer 4 端口转发器差异不大,成本低很多。详细的搭建文档参见:活字格智能集群搭建方案(私有化方案)。
🔎 利用云服务商提供的基础设施(端口转发模式)
详细的搭建文档参见:活字格@AWS智能集群的架构与搭建方案。
📍 INFO
本方案采用了葡萄城生态合作伙伴亚马逊中国提供的 Layer 4 负载均衡和其他服务,如需在其他云服务商中寻找替代方案,请咨询云服务商的技术支持人员。
- 代码仓库,如 GitLab;
- CI/CD服务器,如 Jenkins、TeamCity;
- 测试用应用服务器;
- 测试用数据库服务器。
运维环境
为了确保服务器的可用性和安全性,核心业务系统通常配套有运维相关的环境和工具,以“不能直接操作服务器”为目标。低代码开发出来的应用,在运维上和编码开发高度类似,基本上可以沿用编码开发的运维方案。完整的运维工具包含:
- 堡垒机
- 监控系统
- 日志分析系统(需采集和处理 nginx 网关日志与活字格日志)