欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

云计算下的多层服务器集群架构

程序员文章站 2024-01-12 21:50:22
...
对于超大型互联网应用如Google搜索,淘宝网,阿里巴巴SaaS平台等需要云计算的有力支撑, 而以普通PC组建超大规模计算集群是一个常见选择。

对于Web Server和App Server集群来说,通过大规模线性扩展和集群化,可以很好的提升网站整体的并发访问量和整体性能。

1. 扁平式负载集群
一个常见的集群设计是扁平式负载集群(Flat Cluster),一台或多台Apache + 多台App Server,通过Apache进行负载均衡。如下图所示。
(注:为简单起见,这里不考虑硬件负载,DNS,Squid等其他节点因素,下图中3台JBoss仅作示意,实践中可扩展到最大允许个数)
云计算下的多层服务器集群架构
            
    
    博客分类: 架构设计 云计算应用服务器JBossApache阿里巴巴 

扁平式负载集群能够实现基本的负载均衡,上图中使得部署在JBoss上的应用能提供3倍的并发量。
随着应用规模增长,App Server可以水平扩展。但当JBoss节点增加到一定数量时,Apache成为瓶颈所在,主要是Apache和后端JBoss集群之间要建立更多的连接,而对于Apache服务器,连接资源是有限制的。
扁平式还有个维护问题,1+N的模式,要增加,减少JBoss节点都要在Apache端处理,对HA会有短暂影响。

2. 多层负载集群

下图中
Apache 1具有更高的处理能力,作为多层集群的前端。
Apache 2.x 具有和扁平式集群中的Apache相同的处理能力。
云计算下的多层服务器集群架构
            
    
    博客分类: 架构设计 云计算应用服务器JBossApache阿里巴巴 
其中Apache 2.x 层相当于增加了一个虚拟层,对于Apache 1来说,只需要管理和交互3台服务器。而下层的子集群可根据需要灵活的进行水平扩展。

3. 多层分布式数据库
多层集群思想对于数据库切分尤为有用。
在扁平式下(参见图1),假设1000万注册用户分10个库,则每个库要处理100万用户的业务数据。
而在多层分布式数据库下,虚拟层仍保持 10个虚拟,但不处理实际数据;每个虚拟节点下再设置 10个实际的数据库,那么,此架构下,共100个数据库实例,每个只需要处理10万用户的业务数据,仍有90万的剩余处理能力留作未来容量。因此,整个分布式数据库的处理能力大大提升。
  • 云计算下的多层服务器集群架构
            
    
    博客分类: 架构设计 云计算应用服务器JBossApache阿里巴巴 
  • 大小: 6.3 KB
  • 云计算下的多层服务器集群架构
            
    
    博客分类: 架构设计 云计算应用服务器JBossApache阿里巴巴 
  • 大小: 16.4 KB