历史版本6 :集群方案介绍 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 集群编辑

集群(cluster)就是将多个相同的工程集中起来提供同一种服务,这些单个的工程就是集群的节点(node)。基于集群的横向扩展性,可以通过增加节点数量实现并发线性增长。同时也可以用多个工程做备份,避免单机不可用导致系统停止造成的损失(业务中断、数据/模板丢失),确保系统7*24h稳定运行。

222

2. Web 集群特点编辑

2.1 高可用性

1)无主机模式,某一节点宕机后集群系统仍可正常提供服务;

2)节点宕机后,自动切换其他节点,已登录的用户无需重新登录。

2.2 高一致性

1)各节点间平台配置信息和资源文件修改更新能够实时同步;

2)智能检测各节点的 JAR 包、插件版本,并能做到异常提醒。

2.3 强扩展性

基于良好的架构设计,Web 集群具有良好的横向扩展性,可以通过增加节点数量实现并发线性增长,从而获得较高的并发支撑性能。

2.4 使用简单

1)简单可视化配置,80% 的配置都可在平台上完成;

2)支持热部署,增加删除节点无须重启集群,只需要拷贝节点文件即可;

3)实时监控各节点的运行状态,如内存使用情况。

3. Web 集群架构编辑

222

4. 集群方案介绍编辑

Web 集群方案由“负载均衡+Web 容器+状态服务器+文件服务器+外置数据库”组成,下面对方案各个部分的作用进行简单介绍:

4.1 负载均衡

负载均衡的作用是依据算法将用户的请求合理分配到集群的各个节点上,以减轻单个工程的压力,降低系统对单个服务器的性能要求,是集群系统的入口。

负载均衡分为软件负载和硬件负载两种,软件负载推荐使用Nginx,硬件负载推荐使用 F5,对于非 Nignx 的负载均衡,目前帆软仅提供配置说明,须自行操作配置

4.2 Web 容器

web容器是一种服务程序,是能够支持发布web程序的软件,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求。

常规推荐:Tomcat 容器、Weblogic 容器、Websphere 容器

4.3 外置数据库

外置数据库在集群中的作用是保证各个节点间平台配置信息保持实时同步,各个节点共用同一个外置数据库。

支持数据库: MySQL、SQL Serve、Oracle、 DB2

4.4 状态服务器

状态服务器用于存储缓存、登录、模板锁、 sessionid 等信息,集中管理所有的服务器状态与缓存,并对所有的访问和操作进行验证。

目前支持 Redis 单机和 Redis 集群两种方案。

4.5 文件一致方式

文件一致方式有两种:节点间同步和文件服务器共享,两种方式均可保证各节点间模板等资源文件的实时一致性。

1)节点间同步:在未开启文件服务器的情况下,默认使用节点间同步的方式,各节点服务器的资源文件从本地工程目录读取,当服务器上模板需保存变更时,其余节点实时同步变更。

2)文件服务器共享:开启文件服务器后,即可使用文件服务器共享方式,即通过文件服务器存储模板等资源文件,各节点的资源文件统一从文件服务器读取,现支持 FTP、SFTP、HDFS 三种文件服务器。

4.6 集群通信协议

在开启集群之前,可以自行选择集群连接方式:TCP(Transmission Control Protocol 传输控制协议)和 UDP (User Datagram Protocol 用户数据报协议),两种通信方式的区别如下:

  TCP  UDP  
连接  基于连接无连接
对系统资源的要求较多较少
程序结构复杂简单
数据正确性保证不保证
数据顺序性保证不保证
应用场景 网络负担重,对响应速度要求高 
socketsocket(PF_INET,SOCK_STREAM,0)socket(PF_INET,SOCK_DGRAM,0)
数据收发send/recvsendto/recvfrom
地址信息确定在connect/accept时确定在sendto/recvfrom函数中每次均需指定地址信息