采用集群部署时要求服务器各节点均支持集群方式部署,可以获得良好的性能、可用性和伸缩性。特别是应用服务器可以通过增加节点的方式线性地提高整个系统的性能。系统将充分利用Linux、Nginx、Tocmat、Mysql软件的成熟集群特性,实现应用的可扩展。

整体部署结构具有良好的高可用性、可伸缩性、高性能。

因整个项目选择J2EE技术路线,采用BS结构,从而可以运行在几乎所有主流操作系统、中间件和数据库之上。基础软件具体要求如下:操作系统Linux、Windows、HP-Unix、AIX、Solaris均支持,推荐使用Linux;中间件可以是任意的支持J2EE 1.3以上标准的中间件软件,包括Tomcat、WebSphere、Weblogic、jboss等,推荐使用Tomcat;数据库可以是任意主流关系型数据库,包括Oracle、DB2、SQL Server 、Mysql等,推荐使用Mysql。

ZCMS支持的软件平台:

项目

支持配置

推荐配置

操作系统

Linux、Windows、HP-Unix、AIX、Solaris

Linux

We服务器

Nginx,Apache

Nginx

中间件

Websphere5.1-7、WebLogic8-9、Jboss、GlassFish、Tomcat

Tomcat

数据库

Oracle、DB2、SQL Server、Mysql

Mysql

以上软件在满足基本需求的前提下,充分考虑成本问题,尽量选择开源免费类型的软件产品,降低项目投入成本。

1. 硬件配置建议

根据系统性能、稳定性和安全性需求,本项目需配置的服务器如表所示。

用途

软件配置

硬件配置

数量

Web静态服务器

CentOS + Nginx

2核CPU、16G内存、1T存储SSD、10M带宽

2

Web动态服务器

CentOS + Tomcat

2核CPU、32G内存、1T存储SSD、10M带宽

2

内容管理服务器

CentOS + Tomcat

2核CPU、32G内存、1T存储SSD

2

文件服务器

CentOS + GlusterFS

2核CPU、32G内存、2T存储SSD

2

缓存服务器

CentOS + Redis

2核CPU、64G内存、1T存储SSD

1

数据库服务器

CentOS + Mysql

2核CPU、32G内存、1T存储SSD

2

测试服务器

CentOS + Nginx + Tomcat + Mysql

2核CPU、32G内存、1T存储SSD、5M带宽

1

服务器配置以HP 380G7为基准,要求2个至强双核CPU,主频2.5G,或相同配置的云主机GuestOS。

2. 部署结构图

图片1

部署说明

服务器台数

12台

部署方式

Web01(Web静态服务器1):Web

Web02(Web静态服务器2):Web

WebApp01(Web动态服务器1):FrontApp

WebApp02(Web动态服务器2):FrontApp

Manager01(内容管理服务器1):ZCMS

Manager02(内容管理服务器2):ZCMS

GFS01(分布式文件服务器1):GlusterFS

GFS02(分布式文件服务器2):GlusterFS

DB01(数据库服务器01):Mysql

DB02(数据库服务器02):Mysql

服务器Web01和Web02构成Web静态集群

服务器WebApp01和WebApp02构成Web动态集群

服务器Manager01和服务器Manager02构成内容管理集群

服务器GFS01和服务器GFS02构成分布式文件集群

服务器DB0 和服务器DB02构成数据库集群

特点

需要添置多台服务器

可用性

3. 设备信息

编号

配  置

安装软件

外网端口

内网端口

备注

1

CPU:8C

内存:16G

硬盘:1T

CentOS7

Nginx1.8

Nginx:80


前端静态服务器

Web01

2

CPU:8C

内存:16G

硬盘:1T

CentOS7

Nginx1.8

Nginx:80


前端静态服务器

Web02

3

CPU:8C

内存:32G

硬盘:1T

CentOS7

JDK1.8

tomcat8


Tomcat:8080

前端动态服务器

WebApp01

4

CPU:8C

内存:32G

硬盘:1T

CentOS7

JDK1.8

tomcat8


Tomcat:8080

前端动态服务器

WebApp02

5

CPU:8C

内存:32G

硬盘:1T

CentOS7

JDK1.8

Tomcat8

FFmpeg

OpenOffice


Tomcat:8080

OpenOffice:8100

内容管理服务器

Manager01

6

CPU:8C

内存:32G

硬盘:1T

CentOS7

JDK1.8

Tomcat8

FFmpeg

OpenOffice


Tomcat:8080

OpenOffice:8100

内容管理服务器

Manager02

(热备)

7

CPU:8C

内存:32G

硬盘:2T

CentOS7

GlusterFS服务端


24007~24047

38465~38467

分布式文件系统

GFS01

8

CPU:8C

内存:32G

硬盘:2T

CentOS7

GlusterFS

服务端


24007~24047

38465~38467

分布式文件系统

GFS02

9

CPU:8C

内存:64G

硬盘:1T

CentOS7

Redis


Redis:6379

缓存服务器

10

CPU:8C

内存:32G

硬盘:1T

CentOS7

MySQL


MySQL:3306

数据库主

11

CPU:8C

内存:32G

硬盘:1T

CentOS7

MySQL


MySQL:3306

数据库从

12

CPU:8C

内存:32G

硬盘:1T

CentOS7

Nginx1.8

JDK1.8

Tomcat8

FFmpeg

OpenOffice

Nginx:80

Tomcat:8080

OpenOffice:8100

测试服务器

4. 软件清单

序号

软件类别

候选产品

备注

1

操作系统

CentOS

7. 2 64位

2

静态服务器

Nginx

1. 8及以上

3

应用服务器

Tomcat

8. 0及以上

4

文件服务器

GlusterFS

3. 0及以上

5

缓存服务器

Redis

2. 8及以上

6

数据库服务器

Mysql

5. 5及以上

5. 软件说明

 Nginx/1.8

Web静态服务器,提供静态内容http访问,代理访问前端动态应用。

  JDK/1.8

java运行时环境。

  Tomcat/v8

Web应用服务器,加载应用,提供动态内容http访问。

  redis/v3.2

处理内存共享。

  Keepalived/v1.3

Keepalived的作用是检测服务器的状态,如果有一台服务器死机,或工作出现故障,Keepalived将检测到,并将有故障服务器从系统中剔除,这里用作mysql高可用组件。

  FFmpeg/v2.8

视频转换工具,ZCMS视频转换依赖工具。

  OpenOffice

Linux服务器流行的Office办公软件,底层提供丰富的接口,ZCMS处理office文档依赖工具。

  MySQL/v5.7

关系型数据库管理系统,用于数据存储。

  GlusterFS

共享wwwroot_release静态资源目录。

6. 测试环境

需提供与生产版本程序以及环境一致的测试环境,定期维护更新代码,保证测试与正式环境的一致性。