# EOS Platform 8 部署方案

# 部署方案概览

EOS Platform 8是分布式环境下的应用平台,在数字化的时代,面临着各种复杂的应用场景,既要支持面向简单场景的敏捷应用,也要支持大规模并发的业务场景,因此EOS8提供了多种部署形态,分别是精简版、独立版和微服务版三种形态,针对这三种形态下面给出相应的参考部署方案。


# 精简版部署方案

精简版是一个单机应用,只需要有应用服务器+数据库就能够完整应用部署,部署架构图如下:

精简版架构图

  • 应用服务器配置 : CPU 2核 + 4G
  • 数据库服务器 : 根据实际业务场景配置

# 独立版部署方案

独立版是一个支持集群的应用,除开有应用服务器和数据库之外还需要负载均衡和分布式缓存

独立版架构图

  • 部署服务器参考配置
服务类型 服务器名称 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 Platform 8微服务版的相关服务说明
名称 类型 说明 备注
EOS-APP EOS微服务应用 EOS开发的应用 基于EOS 8的springboot的的fatjar包
BPS EOS微服务应用 普元流程引擎 基于EOS 8的springboot的的fatjar包
AFCenter EOS微服务应用 EOS 8提供的开源组织机构与多应用集成管理平台 基于EOS 8的springboot的的fatjar包
devops EOS应用部署平台 基于普元devops产品提供低开应用的在线应用部署管理 基于Tomcat的web应用
Governor EOS微服务应用 EOS 8的应用管理监控门户 基于EOS 8的springboot的的fatjar包
Gateway springboot应用 EOS 8应用平台网关 spring cloud的gateway 2.1.5
Jenkins Java应用 提供低开应用的自动化发布 Jenkins 2.388
nacos springboot应用 EOS8应用平台注册中心 阿里云的nacos 1.3.2
Turbine springboot应用 EOS 8微服务断路器 基于spring cloud的Turbine 5.1.0
Elasticsearch 分布式搜索引擎 EOS 8应用平台的日志与监控信息的存储与搜索平台 Elasticsearch 6.8.11
logstash 日志收集引擎 EOS 8应用平台的日志收集器 logstash 6.8.11
kafka 消息队列 EOS 8 日志数据队列 kafka 2.12
filebeat 文件采集器 EOS 8日志文件采集器 filebeat 6.8.11
zookeeper 分布式服务协调 支持kafka集群服务 zookeeper 3.4.13
skywalking 应用性能监控 EOS 8 应用平台的性能监控中心 skywalking 6.0.0
redis 分布式缓存 提供给EOS 8的服务与应用的缓存 建议用最新稳定版
nginx 网络代理服务 给EOS8应用的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数据库服务器(开发与测试用的共享数据库)

上述环境只要数据库正常,启动服务器一就可以正常进行开发工作。

上次更新: 2023/7/20下午12:25:28