我正在做一个图像托pipe服务。 这是我第一次build立一个大的网站,所以我没有太多关于创build一个可靠的Web服务的知识,但我想我已经明白了。
我应该如何设置我的网站托pipe容纳大量的stream量? 这就是我的想法。 告诉我,如果这是一个好主意:
那样有用吗? 这意味着大量stream量的成本都是通过Amazon S3完成的,对吧? 廉价的供应商不应该受到任何重大成本的打击,因为它所做的只是运行脚本和更新数据库? 或者也会加起来(慢慢跑)?
我应该将数据库移到Amazon SimpleDB吗? 我也听说我可以使用Amazon EC2运行该网站,但是看起来这需要很多工作来设置(并且是昂贵的)。 我想我所问的可以概括为:什么是可靠地运行图像托pipe网站最具成本效益的方式?
谢谢。
所以,这里有几点可以帮助你。
根据您的上传configuration(客户端客户端与服务器端客户端),您的需求会有所不同。 客户端对于服务器成本来说会更便宜,但是要注意,有人可能会find一种方法来存储任何types的文件,并且您将负责调节该内容。 对于服务器端模型,请准备好随着用户stream量增加服务器成本,因为您需要构build更多服务器来处理上载请求。
托pipe内容后,您还需要查看CDN(内容分发networking),如Amazon的CloudFront(如果您想留在亚马逊堆栈上)或Akamai Networks。 这些会首先增加你的成本,但是为你节省大量的使用内容。
Amazon SimpleDB是一个有趣的数据库风格。 这是“最终一致”,这意味着发送到数据库的数据可能无法立即访问,类似于Amazon S3。 如果您要使用数据库作为保持多个节点上的数据同步的许多实时事务的方式,我不会推荐它。
运行大规模图像(或任何其他)托pipe网站的最具成本效益的方法不是运行一个 – 如果您达到任何级别的stream行度,单靠带宽成本将是天文数字。
所有人都说,我会先testing一些商品虚拟专用服务器主机上的水域( vps.net , linode.com等 – 不是代言,谷歌周围)。 如果你的发展速度足够快,而且看起来至less可以达到成本,那么你可以扩展到像你所描述的那样。
从架构的angular度来看,我会build议,如果你要“进入云端”,就要一路走下去 – 如果数据不在前端“附近”,数据来回传递到后端系统将会变慢,我相信云提供商是非常慷慨的带宽,不离开他们的networking。
还要从最近的Amazon EBS相关故障中吸取教训,并确保您在基于云的服务中具有适当的冗余级别。 当你失去所有的家庭照片时,顾客往往会发出愤慨的声音:-)