网站、数据库的衍变之路(四)

话接前文《网站、数据库的衍变之路(三) 》。上回说到该增加服务器了,那要增加多少服务器,增加了服务器网站怎么部署呢?最简单的办法当然是拆分应用。

一、分离应用

图1

如图1所示,把应用拆分开来,根据压力放置到不同的服务器上,数据库也同样如此。访问的时候,设置不同的子域名来访问。图片应该被独立出来。

通过这种方式,用户访问的时候将会分流到不同的服务器上。这样的好处是显而易见的,网站能承受的压力的显著增强了。缺点是不得不对程序进行重新开发。

二、多个副本


图2

如图2所示,使用负载均衡,把压力分担到不同的服务器上。这种方式不需要对程序进行改造。由于压力还不是十分巨大,直接用windows自带的负载均衡就能显示目的了。

至于某些局部问题,那可以用缓存的方式来解决。而数据库对压力的处理则可以分为3种方式。

1.分库分表
原理和网站的分离应用差不多,把各个应用相关的部分拆分开来,放到不同的数据库服务器。

2.分布式计算
把数据库挂接起来,应用也是要拆分的,但是访问的时候只需要访问主数据库,其它数据库就成了黑箱,不需要了解其它数据库的细节。

3.分发
原理上和网站的多个副本同样的原理,把数据也分发成多个副本,分别对不同的副本进行访问。这样的缺点是数据会不同步,需要等一段时间才能实现数据库服务器数据间的同步。

访问量再加大,就需要购买专业的设备,或者开发的复杂的应用来解决问题了。比如bigtable,mapreduce,f5等等。没接触过那些东西,就不再讲下去了。这系列文章是对这几年工作的一个总结,同时希望能对你有所帮助。要是有更好的方法,还希望能赐教,呵呵。

posted @ 2009-08-06 14:35  awp110  阅读(153)  评论(0编辑  收藏  举报