您的系统有扩展计划吗?

| | Comments(0) | TrackBacks(0)
  之前在 What is scalability ? 一文中,John对系统的扩展方式和度量做了一些讨论,但我们还是要知道:对于系统扩展,没有放之四海而皆准的方案,只有最适合自己实际情况的解决方法。在 的一篇有趣的文章: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往往是复杂和万变的

发表留言