之前在 What is scalability
?
一文中,John对系统的扩展方式和度量做了一些讨论,但我们还是要知道:对于系统扩展,没有放之四海而皆准的方案,只有最适合自己实际情况的解决方法。在Todd Hoff 的一篇有趣的文章:what's your
scalability plan ?
中,Todd把一个网友发在留言板中的扩展方案又贴了出来,希望引出更多的草根方案,呵,看这网友贴的方案,就仿佛又看到了一群在创业中经历辛苦但享受梦想的人们。
这位网友说他的网站是从零开始的,以下是他的扩展计划:
第1阶段:
单服务器一台,双路四核的2.66G CPU,8G的内存,10块500G的RAID硬盘。
操作系统: Fedora 8 。
代理缓存: Varnish (John:这位网友说 Varnish 比 squid要快,这是真的吗??)
web服务器:lighttpd ,原因:比Apache2快,更重要的是配置简单。(John:这完全符合创业者的特点)
对象缓存: memchched
编程语言:PHP 5,原因:简洁,没有臃肿的框架。(John:确实,php仍然是创业者的首选,不过现在rails也很值得推荐)
PHP缓存: APC
数据库: MySQL 5
第2阶段:
把内存升级到64G,缓存所有能缓存的东西。
第3阶段:
购买负载均衡设备,为前端增加2台服务器,配置与第1阶段类似:Varnish,memcached,lighttpd.
原先的机器做为独立成MySQL数据库服务器使用。
第4阶段:
看负荷和规模的增长情况了,可考虑水平扩展增加一台数据库服务器或是文件服务器,主要是解决数据的访问瓶颈;若有必要,也可以考虑把Varnish ,Memcached,Lighttpd 分离到独立的服务器中。对于静态的文件,也可以考虑CDN了。
第5阶段:
把所有的服务器都升级到64G的内存,我们的口号是:缓存,缓存,缓存。
第6阶段:
如果这个网站能走到这一阶段,那现在应该不是缺钱了(风投或是盈收),毕竟没有多少网站能走到这一步。那么就把所有机器都换成是最高配置的。更重要的是,要保证web应用中每一层都能扩展,并且是能横向的通过增加机器来水平扩展。
哈,这还真是个比较simple的草根扩展方案,但real world往往是复杂和万变的
这位网友说他的网站是从零开始的,以下是他的扩展计划:
第1阶段:
单服务器一台,双路四核的2.66G CPU,8G的内存,10块500G的RAID硬盘。
操作系统: Fedora 8 。
代理缓存: Varnish (John:这位网友说 Varnish 比 squid要快,这是真的吗??)
web服务器:lighttpd ,原因:比Apache2快,更重要的是配置简单。(John:这完全符合创业者的特点)
对象缓存: memchched
编程语言:PHP 5,原因:简洁,没有臃肿的框架。(John:确实,php仍然是创业者的首选,不过现在rails也很值得推荐)
PHP缓存: APC
数据库: MySQL 5
第2阶段:
把内存升级到64G,缓存所有能缓存的东西。
第3阶段:
购买负载均衡设备,为前端增加2台服务器,配置与第1阶段类似:Varnish,memcached,lighttpd.
原先的机器做为独立成MySQL数据库服务器使用。
第4阶段:
看负荷和规模的增长情况了,可考虑水平扩展增加一台数据库服务器或是文件服务器,主要是解决数据的访问瓶颈;若有必要,也可以考虑把Varnish ,Memcached,Lighttpd 分离到独立的服务器中。对于静态的文件,也可以考虑CDN了。
第5阶段:
把所有的服务器都升级到64G的内存,我们的口号是:缓存,缓存,缓存。
第6阶段:
如果这个网站能走到这一阶段,那现在应该不是缺钱了(风投或是盈收),毕竟没有多少网站能走到这一步。那么就把所有机器都换成是最高配置的。更重要的是,要保证web应用中每一层都能扩展,并且是能横向的通过增加机器来水平扩展。
哈,这还真是个比较simple的草根扩展方案,但real world往往是复杂和万变的

发表留言