作者DarkKiller (System hacked)
站内i-enterprise
标题Re: [请益] 请问关於 server 架设
时间Mon Mar 2 05:30:14 2009
※ 引述《xdite (xdite)》之铭言:
: ※ 引述《DarkKiller (System hacked)》之铭言:
: 把 DK 长辈的文章转到 p2 我的版(已徵得同意),我也写了一篇回文补充。
我继续 follow up...
有些是 by design 的问题,必须在初期就设计好,不然到了网站长起来後就会
很辛苦。
首先要讲的是网站稍微大了点,里面有内容了,「资料储存」要怎麽做。我这
边以图档为例子。
==== (by design problem)
首先,图档一定要放在不同 domain。主网站叫做 www.example.com,那麽图档
就放到 img.exapmle.com,这对於之後要扩大网站是一个基础。
一开始一定是都用同一台机器放,都用 apache 吐档案。等大了以後可以把图
档放到另外一台机器,这时候因为你把图档放在 "img.example.com",所以你
只要把 img.example.com 的 IP 换掉,指到另外一台机器就可以拆开。
针对跑 php 与静态档案的 server 你可以特制,php 用 apache 跑,但静态档
案用 nginx 跑。
domain 拆开这个步骤在更後面的 CDN 会再提到重要性。
==== (资料的重要性)
使用者上传的档案如果放在机器上,有一些方法保护。第一种是定时备份,第
二种是 RAID,第三种是丢到 Amazon S3。三个都有优缺点:
==== (定时备份)
每个小时,或是每天 copy 到其他地方。很简单的方法,技术上没什麽好讲,
通常是用 rsync 备份。
优点是简单,很容易懂。缺点是非即时备份,主机硬碟故障时还是会掉一部分
资料。
==== (RAID)
跑 RAID,不论软体或是硬体的都算。技术上也没什麽好讲的。
优点是有一定的 uptime,缺点是初期就要投资不少的硬体成本,不然之後资料
搬迁的人力成本更高。
==== (Amazon S3)
这是重点,也是我偏好的方式。把档案放到 S3 上,由 S3 保护资料。这个方
法不只 WordPress.com 有用,Sumgmug.com 也是这样用。
S3 的成本对於初期的用量是相当划算的,等到长到一定程度再买大台硬体把资
料搬回来就好。
费用是 $0.15/GB/month,所以 100GB 的资料一个月的费用是 $15,台币大约
五百元,就算是 1TB 也才 $150,约五千元。
Amazon S3 另外一个重点是可以直接透过 HTTP 抓,最有名的例子应该是
Twitter 的图,像是 ev (Twitter 的 CEO) 的头像:
http://s3.amazonaws.com/twitter_production/profile_images/66154838/ev-sky_bigger_bigger.jpg
当然,用他的 HTTP 要另外收钱,这个是频宽费用的问题,之後再提。
用 Amazon S3 的好处在於你不需要额外架设 HTTP server 处理静态档案,也
不用担心网站变大的时候一台 server 撑不住,或是磁碟空间不够用。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.235.132
1F:推 laptop:这篇真的多推一下. d大有做到的Scale 等级 才有如此经验 03/04 19:24