我打算构build一个高性能的Web服务。 它应该使用数据库(或任何其他存储系统),某种处理语言(不pipe是否使用脚本)和Web服务器守护进程。 系统应该分布在大量的服务器上,使业务运行快速可靠。
它应该复制数据以实现可靠性,同时它必须提供分布式计算function以处理大量数据(主要是对大型数据库的查询,这些数据库不会在具有适当响应级别的单个服务器上执行)。 caching技术不在话题中。
我应该考虑哪些集群/云解决scheme?
有很多单系统映像(SSI),集群文件系统(可以是devise的一部分),像Hadoop,BigTable克隆等项目。 每个人都有自己的优点和缺点,而“about”页面总是说这个解决scheme很棒:)如果你试图部署一些解决这个问题的东西 – 分享你的经验!
UPD:这不是一个文件托pipe,而不是一个游戏,而是一些互动的东西。 你可以把ServerFault作为一个Web服务的例子:小块的数据,半静态的内容,密集的数据库操作。
对于那些可能感兴趣的人:
在StackOverflow交叉邮政
相关问题:
Facebook正在使用cassandra进行数据存储。
这里是关于缩放YouTube和谷歌体系结构和prestentation的文章:来自 Google的Jeff Dean build立大型分布式系统的devise,经验教训和build议,描述他们如何做自己的事情。
Hadoop + Hive(或PIG)是为处理海量数据而构build的。 这就是雅虎(4000节点集群),Facebook,eHarmony等使用。
我相信你可以从Cloudera.com获得品牌软件包/支持,或者你可以自己在apache.org上获得它
处理数据查询的GB-PB非常容易,安装起来很麻烦。
您可以轻松地在EC2上testing(这是他们的select之一),几乎没有成本。
如果不知道自己在做什么,就无法回答。 即使那样也可能是相当困难的。
根据我读过的(并经过尝试),Cassandra看起来相当不错,但是不应该把它当作devise的一部分,而不会理解它是如何工作的以及它的局限性。
这种事情从来都不容易,而且这对于Stackoverflow来说更是一个问题。
我有点自由地将OP的要求视为“成熟的云计算平台,易于程序员操作,易于扩展操作”。 我们还没有到那里。 据我所知,目前还没有成熟的,商业上可用的系统,这些系统从HTTP请求,过程处理,到永久存储,遍及整个链。
今天最接近的可能是分区数据网格中间件,比如Oracle的Coherence或者Terracotta 。 Oracle Coherence对于Squarespace和其他Web应用程序来说是非常好的 。 当然,Oracle也会高兴地向您推销一个分区的Oracle数据库,它可以处理大量的数据并且正常工作。 而价格…如果你需要问你买不起。
如果你需要便宜(呃),那么你正在使用开源组件来看待某种程度的DIY。 Hadoop系列是最全面和最成熟的开源“BigTable”和“Map / Reduce”之类的一套工具。 分片MySQL是stream行的数据存储,而且仍然是一个主要的DIY解决scheme 。 “NoSQL”现在正在获得发展势头,但对于NoSQL来说还是一个早期的时代 。
我应该考虑哪些集群/云解决scheme?
你有没有倒退? 你有什么样的证据certificate你的应用程序达到了互联网规模,在目前的规模下观察到的数据访问模式是什么样的,以及你的团队以前的经验与哪些解决scheme和语言?
我真的很喜欢这个完整的亚马逊套件 。
我相信Amazon EC2与Amazon S3和Amazon Simple DB或Amazon RDS结合起来可能是您的不错select
你可以使用JBoss集群。