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

对于超大型互联网应用如Google搜索,淘宝网,阿里巴巴SaaS平台等需要云计算的有力支撑, 而以普通PC组建超大规模计算集群是一个常见选择。

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

[b]1. 扁平式负载集群[/b]
一个常见的集群设计是扁平式负载集群(Flat Cluster),一台或多台Apache + 多台App Server,通过Apache进行负载均衡。如下图所示。
(注:为简单起见,这里不考虑硬件负载,DNS,Squid等其他节点因素,下图中3台JBoss仅作示意,实践中可扩展到最大允许个数)
[img]/upload/attachment/88131/1edd9fe8-47ab-31f6-8255-3fc322519baa.jpg[/img]

扁平式负载集群能够实现基本的负载均衡,上图中使得部署在JBoss上的应用能提供3倍的并发量。
随着应用规模增长,App Server可以水平扩展。但当JBoss节点增加到一定数量时,Apache成为瓶颈所在,主要是Apache和后端JBoss集群之间要建立更多的连接,而对于Apache服务器,连接资源是有限制的。
扁平式还有个维护问题,1+N的模式,要增加,减少JBoss节点都要在Apache端处理,对HA会有短暂影响。
[b]
2. 多层负载集群[/b]
下图中
Apache 1具有更高的处理能力,作为多层集群的前端。
Apache 2.x 具有和扁平式集群中的Apache相同的处理能力。
[img]/upload/attachment/88133/2d50e998-39a3-39bf-9bc8-2b664cb18714.jpg[/img]
其中Apache 2.x 层相当于增加了一个虚拟层,对于Apache 1来说,只需要管理和交互3台服务器。而下层的子集群可根据需要灵活的进行水平扩展。

[b]3. 多层分布式数据库[/b]
多层集群思想对于数据库切分尤为有用。
在扁平式下(参见图1),假设1000万注册用户分10个库,则每个库要处理100万用户的业务数据。
而在多层分布式数据库下,虚拟层仍保持 10个虚拟,但不处理实际数据;每个虚拟节点下再设置 10个实际的数据库,那么,此架构下,共100个数据库实例,每个只需要处理10万用户的业务数据,仍有90万的剩余处理能力留作未来容量。因此,整个分布式数据库的处理能力大大提升。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值