企业内容管理(ECM)中的负载均衡

2020-05-25 00:00:00 集群 服务器 请求 能力 负载均衡

为什么需要负载均衡?

集团性企业常面临“大流量,高并发,海量数据”的挑战,为了应对此类问题,通常采用的是横向扩张的方式,简言之就是增加机器来满足系统所需的处理能力。而这些所增加的机器就被要求共同来承担系统处理的压力,也由此产生了负载均衡的概念。

负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。

负载均衡的原理

系统的扩展可分为纵向(垂直)扩展和横向(水平)扩展。纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。因此需要采用横向扩展的方式,通过添加机器来满足大型网站服务的处理能力。比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。这就是典型的集群和负载均衡架构:如下图:

  • 应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。
  • 负载均衡设备:将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。(一种把网络请求分散到一个服务器集群中的可用服务器上去的设备)

负载均衡解决的问题

  • 解决并发压力,提高应用处理性能(增加吞吐量,加强网络处理能力);
  • 提供故障转移,实现高可用;
  • 通过添加或减少服务器数量,提供网站伸缩性(扩展性);
  • 安全防护;(负载均衡设备上做一些过滤,黑白名单等处理)

edoc2方案中的负载均衡应用

edoc2采用IP HASH负载均衡策略,IP Hash策略一个优势是Session保持,一IP Client登录后,其之后的所有请求都由该Web Server响应,若次登录请求,Nginx会根据各Web Server的权重判定当前IP client应该由哪台Server响应,成功建立链接后该Server权值减1,直到该Server的权值降到了比其他Server低,才开始将请求分给下一个高权重的Server。可为企业规避以下4大问题:

  • 有服务器崩溃不影响整体系统运行
  • 某几台服务器负荷很低,而另几台服务器负载很高、处理缓慢
  • 配置高的服务器分配到的请求少,而配置低的服务器分配到的请求多
  • 扩展性,直接加服务器,不影响现有运行

目前,鸿翼已为银联、京东方等的企业部署了完整可行的分布式架构, 实现了ECM系统的负载均衡。

相关文章