# EOS Low-Code Platform 8 部署方案
# 部署方案概览
EOS Low-Code Platform 8是分布式环境下的应用平台,在数字化的时代,面临着各种复杂的应用场景,既要支持面向简单场景的敏捷应用,也要支持大规模并发的业务场景,因此EOS Low-Code Platform 8提供了多种部署形态,分别是精简版(Express)、独立版(standalone)和微服务版三种形态,针对这三种形态下面给出相应的参考部署方案。
# 精简版(Express)部署方案
精简版是一个单机应用,只需要有应用服务器+数据库就能够完整应用部署,部署架构图如下:
- 应用服务器配置 : CPU 2核 + 4G
- 数据库服务器 : 根据实际业务场景配置
# 独立版(standalone)部署方案
独立版是一个支持集群的应用,除开有应用服务器和数据库之外还需要负载均衡和分布式缓存
- 部署服务器参考配置
服务类型 | 服务器名称 | CPU | 内存 | 硬盘 | 运行的服务 | JVM内存 | 部署说明 | 备注 |
---|---|---|---|---|---|---|---|---|
EOS业务服务 | XXX业务应用服务器 | 4核 | 8G | 500G | EOS-APP1-1 | EOS-APP1:6G | 多实例部署 | 业务应用建议部署2个以上节点 |
EOS业务服务 | XXX业务应用服务器 | 4核 | 8G | 500G | EOS-APP1-2 | EOS-APP1:6G | 多实例部署 | 业务应用建议部署2个以上节点 |
负载均衡 | nginx服务器 | 4核 | 8G | 500G | nginx-1 + redis-2 | 使用keepalive实现nginx高可用 | 负载均衡和redis服务共享服务器 | |
分布式缓存 | redis服务器 | 4核 | 8G | 500G | reids-1 + nginx-2 | redis采用集群部署模式 |
# 微服务版部署方案
微服务部署模式是支持大规模分布式架构的业务场景,以云计算技术为基础的新一代企业级应用架构,为了支撑系统的高可用、运维与监控能力,会把EOS提供应用框架拆分为多个微服务,并且部署EOS的管理与监控服务,同时还需要部署相关的云原生。
- EOS Low-Code Platform 8微服务版的相关服务说明
名称 | 类型 | 说明 | 备注 |
---|---|---|---|
EOS-APP | EOS微服务应用 | EOS开发的应用 | 基于EOS Low-Code Platform 8的springboot的的fatjar包 |
BPS | EOS微服务应用 | 普元流程引擎 | 基于EOS Low-Code Platform 8的springboot的的fatjar包 |
AFCenter | EOS微服务应用 | EOS Low-Code Platform 8提供的开源组织机构与多应用集成管理平台 | 基于EOS Low-Code Platform 8的springboot的的fatjar包 |
devops | EOS应用部署平台 | 基于普元devops产品提供低开应用的在线应用部署管理 | 基于Tomcat的web应用 |
Governor | EOS微服务应用 | EOS Low-Code Platform 8的应用管理监控门户 | 基于EOS Low-Code Platform 8的springboot的的fatjar包 |
Gateway | springboot应用 | EOS Low-Code Platform 8应用平台网关 | spring cloud的gateway 3.1.6 |
Jenkins | Java应用 | 提供低开应用的自动化发布 | Jenkins 2.388 |
nacos | springboot应用 | EOS Low-Code Platform 8应用平台注册中心 | 阿里云的nacos 2.2.3 |
Turbine | springboot应用 | EOS Low-Code Platform 8微服务断路器 | 基于spring cloud的Turbine 5.1.0 |
Elasticsearch | 分布式搜索引擎 | EOS Low-Code Platform 8应用平台的日志与监控信息的存储与搜索平台 | Elasticsearch 6.8.11 |
logstash | 日志收集引擎 | EOS Low-Code Platform 8应用平台的日志收集器 | logstash 6.8.11 |
kafka | 消息队列 | EOS Low-Code Platform 8 日志数据队列 | kafka 2.12 |
filebeat | 文件采集器 | EOS Low-Code Platform 8日志文件采集器 | filebeat 6.6.1 |
zookeeper | 分布式服务协调 | 支持kafka集群服务 | zookeeper 3.4.13 |
skywalking | 应用性能监控 | EOS Low-Code Platform 8 应用平台的性能监控中心 | skywalking 6.6.0 |
redis | 分布式缓存 | 提供给EOS Low-Code Platform 8的服务与应用的缓存 | 建议用最新稳定版 |
nginx | 网络代理服务 | 给EOS Low-Code Platform 8应用的UI静态资源访问和服务代理 | 建议最新稳定版 |
- 针对上述的服务,微服务版的参考部署结构如下:
- 在新架构下带来了企业系统部署与运维的复杂性,普元提供多种部署方案供惨考
方案名称 | 定位 | 说明 | |
---|---|---|---|
方案一 | 中等规模生产环境 | 提供了基本的高可用服务 | 适合于企业中有10-30个微服务应用,成本较高 |
方案二 | 小规模生产环境 | 提供了最小的可用服务 | 适合于少于10微服务应用,成本合理 |
方案三 | 开发与集成测试环境 | 多应用集成验证的测试环境 | 多个项目可共享集成环境 |
上述部署方案是针对主机进行部署,如果实现更大规模的高可用服务,可以将上面的服务通过容器方式发布,通过容器云平台进行高可用部署
提示:上述涉及到三方开源组件,请在相关网站查询高可用部署文档
# 方案一:中等规模高可用生产环境
服务类型 | 服务器名称 | CPU | 内存 | 硬盘 | 运行的服务 | JVM内存 | 部署说明 | 备注 |
---|---|---|---|---|---|---|---|---|
EOS业务服务 | XXX业务应用服务器 | 4核 | 8G | 500G | EOS-APP1-1 | EOS-APP1:6G | 多实例部署 | 业务应用建议部署2个以上节点 |
EOS业务服务 | XXX业务应用服务器 | 4核 | 8G | 500G | EOS-APP1-2 | EOS-APP1:6G | 多实例部署 | 业务应用建议部署2个以上节点 |
EOS基础服务 | AFCenter应用服务器 | 4核 | 12G | 500G | AFCenter-1 Gateway-3 Turbine-2 | AFCenter:6G Gateway:2G Turbine:2G | 多实例部署 | AFCenter和网关共享 |
EOS基础服务 | AFCenter应用服务器 | 4核 | 12G | 500G | AFCenter-2 BPS-2 Turbine-1 | AFCenter:4G BPS:4G Turbine:2G | 多实例部署 | AFCenter和BPS次服务器 |
EOS基础服务 | BPS流程服务器 | 4核 | 12G | 500G | BPS-1 Gateway-2 AFCenter-3 | BPS:6G Gateway:2G AFCenter:2G | 多实例部署 | 给流程引擎提供高配置数据库 |
EOS基础服务 | 网关服务器 | 4核 | 12G | 500G | Gateway-1 Governor BPS-3 | Gateway:4G Governor:1G BPS:2G | 多实例部署 | Gateway和Governor共享 |
EOS基础服务 | devops | 4核 | 8G | 500G | devops Jenkins | devops:2G Jenkins:4G | 单实例部署 | 低开应用在线部署 |
负载均衡 | nginx服务器 | 4核 | 8G | 200G | nginx-1 | 使用keepalive实现nginx高可用 | 提供应用的代理服务,同时可以给云原生服务提供代理服务 | |
负载均衡 | nginx服务器 | 4核 | 8G | 200G | nginx-2 | 使用keepalive实现nginx高可用 | 提供应用的代理服务,同时可以给云原生服务提供代理服务 | |
云原生服务 | redis缓存服务器 | 4核 | 8G | 500G | reids-1 + nacos-3 | nacos:2G | redis采用集群部署模式 | redis和nacos共享服务器 |
云原生服务 | redis缓存服务器 | 4核 | 8G | 500G | reids-2 + nacos-2 | nacos:2G | ||
云原生服务 | nacos服务器 | 4核 | 8G | 500G | reids-3 + nacos-1 | nacos:4G | nacos采用集群部署 | nacos主节点 |
云原生服务 | ES服务器 | 8核 | 32G | 2T | Elasticsearch-1 | Elasticsearch:30G | 存储日志与监控信息的ES服务器 | 可以通过nginx进行负载 |
云原生服务 | ES服务器 | 8核 | 32G | 2T | Elasticsearch-2 | Elasticsearch:30G | 存储日志与监控信息的ES服务器 | |
云原生服务 | ES服务器 | 8核 | 32G | 2T | Elasticsearch-3 | Elasticsearch:30G | 存储日志与监控信息的ES服务器 | |
云原生服务 | skywalking服务器 | 4核 | 8G | 500G | skywalking-1 logstash-1 | skywalking:6G logstash:1G | skywalking集群部署 | 通过nginx的stream模式进行代理 |
云原生服务 | skywalking服务器 | 4核 | 8G | 500G | skywalking-2 logstash-2 | skywalking:6G logstash:1G | skywalking集群部署 | |
云原生服务 | kafka服务器 | 4核 | 8G | 500G | kafka-1 zookeeper-3 | kafka:4G zookeeper:2G | kafka集群 | kafka和zookeeper共享服务器 |
云原生服务 | kafka服务器 | 4核 | 8G | 500G | kafka-2 zookeeper-2 | kafka:4G zookeeper:2G | kafka集群 | |
云原生服务 | zookeeper服务器 | 4核 | 8G | 500G | kafka-3 zookeeper-1 | kafka:2G zookeeper:4G | zookeeper服务,3节点部署 | zookeeper主节点 |
# 方案二:小规模可用生产环境
服务类型 | 服务器名称 | CPU | 内存 | 硬盘 | 运行的服务 | JVM内存 | 部署说明 | 备注 |
---|---|---|---|---|---|---|---|---|
EOS业务服务 | XXX业务应用服务器 | 4核 | 8G | 500G | EOS-APP1-1 | EOS-APP1:6G | 多实例部署 | 业务应用建议部署2个以上节点 |
EOS业务服务 | XXX业务应用服务器 | 4核 | 8G | 500G | EOS-APP1-2 | EOS-APP1:6G | 多实例部署 | 业务应用建议部署2个以上节点 |
EOS基础服务 | AFCenter应用服务器 | 4核 | 8G | 500G | AFCenter-1 BPS-2 | AFCenter:4G BPS:2G | 多实例部署 | AFCenter和BPS共享 |
EOS基础服务 | BPS流程服务器 | 4核 | 8G | 500G | BPS-1 AFCenter-2 | BPS:4G AFCenter:2G | 多实例部署 | 给流程引擎提供高配置数据库 |
EOS基础服务 | EOS管理服务 | 4核 | 8G | 500G | governor devops Jenkins | governor:1G devops:1G Jenkins:4G | 单实例部署 | 低开应用在线部署 |
云原生服务 | 基础服务-1 | 4核 | 16G | 500G | nginx-1+redis-1 nacos-1+gateway-1 kafka-1+zookeeper-1 logstash-1+turbine-1 | nacos:1G+gateway:1G kafka:2G+zookeeper:1G logstash:1G+turbine:1G | 多实例部署 | 多服务共享 |
云原生服务 | 基础服务-2 | 4核 | 16G | 500G | nginx-2+redis-2 nacos-2+gateway-2 kafka-2+zookeeper-2 logstash-1+skywalking-1 | nacos:1G+gateway:1G kafka:2G+zookeeper:1G logstash:1G+skywalking:2G | ||
云原生服务 | 基础服务-3 | 4核 | 16G | 500G | nginx-3+redis-3 nacos-3+gateway-3 kafka-3+zookeeper-3 skywalking-2+turbine-2 | nacos:1G+gateway:1G kafka:2G+zookeeper:1G skywalking:2G+turbine:1G | ||
云原生服务 | ES服务器 | 4核 | 16G | 2T | Elasticsearch-1 | Elasticsearch:30G | 存储日志与监控信息的ES服务器 | 可以通过nginx进行负载 |
云原生服务 | ES服务器 | 4核 | 16G | 2T | Elasticsearch-2 | Elasticsearch:30G | 存储日志与监控信息的ES服务器 |
# 方案三:开发与集成测试环境
服务器一: 4核+16G
EOS 应用+基础服务:nacos、redis、nginx、Gateway、AFCenter、BPS、governor、workspace
服务器二: 4核+16G
低开应用部署服务:devops、Jenkins
云原生服务:zookeeper、logstash、kafka、skywalking、Turbine服务器三: 4核+16G
ES服务:Elasticsearch
服务器四: 4核+16G
MySQL数据库服务器(开发与测试用的共享数据库)
上述环境只要数据库正常,启动服务器一就可以正常进行开发工作。