产品介绍

传统应用面临的问题和潜在的威胁

从OA协同办公软件产品出现,协同办公市场发展迅速,协同办公应用在全球范围内得以迅速普及,协同办公软件产品的功能不断增强,易用性不断提高,维护成本和难度在不断降低,性价比不断提升。

纵观整个协同办公市场,目前的协同办公产品普遍是面向中小型企事业单位,存在可扩展性差、健壮性差等问题。随着企业和业务的快速发展,协同办公应用面临以下的问题:

  • 人数逐渐增多
  • 应用更加复杂
  • 应用逐渐增多
  • 数据量迅速增大
  • 单服务器和操作系统性能瓶颈
  • 系统宕机、崩溃

如果以上问题不能及时得到有效解决,则会给企业发展带来严重威胁:

  • 系统出现瓶颈,使用体验变差
  • 办公效率降低、员工积极性降低
  • 业务发展受到制约
  • 数据丢失、工作停滞

解决方案概述

经过十年的总结、积累和探索,数字通OA提供了一个针对这些以上问题的解决方案,经过实践检验,可以有效解决以上的所有问题。

适用场景

  • 规模迅速扩大的企事业单位
  • 业务迅速增长的企事业单位
  • 应用迅速增加的企事业单位
  • 人员数量超大的集团型企业

解决方案说明

传统的协同办公方案大多是针对用户数不超过3000人,并发在线不超过1000人的中小型企业,本方案主要针对大用户量、大访问量、大数据量的协同办公应用设计,设计的承载能力为总用户数3000人以上,并发在线人数1000人以上。

为了提高各种应用指标,降低系统建设成本,本方案主要基于Linux进行部署,并使用Windows平台进行辅助配合,达到最高性能、最大可扩展性、最佳稳定性、最低成本的目的。

解决方案特点

  • 高性能
    本方案采用应用最广泛的LAMP(Linux + Apache + MySQL + PHP)的架构,由多台Web服务器和多台MySQL数据库服务器组成一个服务器集群,为用户访问提供服务,突破单服务器的硬件和操作系统的瓶颈,达到高性能的目的。
  • 高可用
    LVS(Linux Virtual Server)是一种在互联网上被广泛采用的负载均衡技术,已经被实践证明具有高效率、高可靠等特点。
    采用LVS对多台Web服务器进行负载均衡,当其中一台或几台Web服务器出现故障时,其它Web服务器仍然可以替代故障的服务器对用户访问提供服务,达到服务不中断的目的。
    多台MySQL服务器采用主从复制或集群模式,也由LVS提供负载均衡,每台MySQL服务器上都会存储一份完整的数据库,如果其中的一台或多台MySQL服务器出现故障或数据丢失,其它的服务器会继续提供服务,并且保证数据的完整和安全。
  • 易扩展
    随着人员规模的增加及应用的增加,可以简单的通过增加Web服务器和MySQL数据库服务器的方式,提高系统的负载能力,在不停服务、不停应用的情况下,以一种非常便捷、高效地方式增加系统的负载能力。
  • 低成本
    本方案中使用到的软件几乎全部为开源软件,大大降低了软件的采购成本,硬件上也不需要使用小型机等高端服务器,只需要普通的服务器即可,从而大大降低了硬件的采购成本。

负载均衡集群架构及实现

集群架构共包含六部分:LVS负载均衡服务器、Web服务器集群、MySQL服务器集群、缓存服务器集群、即时通讯服务器集群和文件服务器。

如下图所示:

LVS负载均衡服务器

由两台服务器安装LVS服务和相关管理配置界面,为Web服务器集群和MySQL服务器集群提供负载均衡服务,其中一台用做热备,在另一台出现故障时为用户访问提供负载均衡服务。

Web服务器集群

Web服务器集群由两台以上真实Web服务器组成,由LVS提供负载均衡,操作系统均为Linux。预计每台Web 服务器可以支持1000个左右在线人员。Web 服务器数量可以自由扩展,以适应不断增长的业务需要。

MySQL服务器集群

MySQL服务器集群可采用主从复制或Cluster两种方式:

主从复制模式由一台主服务器和一台以上从服务器组成。Web服务器更新数据库的操作访问MySQL主服务器,查询操作访问从服务器。主服务器的数据更新通过MySQL复制的方式更新到从服务器,从而达到从服务器和主服务器数据同步的目的。查询操作通过LVS进行负载均衡,从而使查询操作负载到所有主从服务器,提高并发性能。

Cluster模式使用MySQL Cluster技术。

如下图所示:

整个集群由两台控制服务器、两台以上查询服务器和四台数据存储服务器组成。查询服务器面对Web服务器提供数据库操作服务;四台存储服务器分为两组,每组两个节点,两个节点各存储一部分数据,两组服务器之间互为同步(也起到互为备份的作用);控制服务器负责查询服务器和数据存储服务器的连接,也负责数据存储服务器之间数据的同步。

从上述说明可以看出,主从复制和集群模式都会将数据库数据保存两份以上,既解决了大查询量的性能瓶颈,又解决了因系统故障导致数据丢失的问题。

缓存服务器集群

缓存服务器集群有一台或多台服务器组成,采用Memcached作为服务程序,将访问集中、访问量大、近期的数据缓存在内存中,实现常用数据快速存取,降低系统资源占用,提高用户访问速度,提升用户体验。

即时通讯服务器集群

即时通讯服务器集群采用一台Windows服务器,多进程+多端口的方式。整个集群由一个控制进程和多个真实进程组成,用户登录时由控制进程提供负载均衡,将用户连接负载到不同的真实进程,不同进程之间的用户发送信息则需要通过控制进程进行,控制进程通过优化控制,将最常联系的用户负载到相同的进程,大大降低真实进程和控制进程之间的通信,提高系统性能和稳定性。

整个即时通讯服务器集群的部署,除了采取单服务器多进程的方式外,还可以采取多服务器的方式,把不同的真实进程部署到不同的服务器,从而达到更高并发量的目的。

文件服务器

文件服务器为一台Linux服务器,通过NFS服务对Web服务器提供服务,所有客户端上传的文件都直接保存到文件服务器上。文件服务器可以挂接磁盘阵列柜,提高存储容量,提高大量文件读写的性能。

解决方案实施规划

第一阶段:需求调研和针对性开发

首先需要根据客户具体的人员规模、应用情况、业务需求等进行调研,制定出一个效率最佳、成本最低的方案,并针对这些具体情况进行集群设计,根据业务需求确定程序开发的内容,评估工作量,待双方确定开发方案后开始开发工作。

第二阶段:集群环境搭建、应用部署和测试

根据前一阶段确定的方案,搭建和调试集群环境,并部署前一阶段开发的程序,进行联合调试和功能测试,并模拟用户的人员规模和应用规模进行压力测试,根据测试结果调整参数设置进行优化,或对硬件服务器进行扩充增加负载能力。同时对管理员进行后期系统维护的培训。

第三阶段:试运行及调整

试运行阶段先由一部分员工上线使用,逐步扩展到全部人员,观察系统运行情况,优化系统性能。业务功能也逐步开放,根据使用情况进行微调。

第四阶段:正式运行及维护

系统运行稳定后,定期检查数据备份,做好灾备工作。同时制定后期扩展方案,在需要时随时对集群进行扩容,增加整个系统的负载能力。

五、典型案例

北京新东方教育科技(集团)有限公司