集群方案介绍

编辑
  • 文档创建者:susie
  • 浏览次数:4437次
  • 编辑次数:14次
  • 最近更新:Carly 于 2019-09-17
  • 1. 集群

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

    web集群架构.jpg

    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和UDP ,若服务器允许组播,则选择UDP协议,不允许组播则选择TCP协议,默认使用TCP协议。

    两种通信方式的区别如下:

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


    附件列表


    主题: 部署集成
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]