像Twitter这样的网站可以在App Engine中运行吗?

时间:2010-02-14 13:43:35

标签: google-app-engine twitter

只是想知道。有人有想法吗?

5 个答案:

答案 0 :(得分:6)

根据您的更新,我猜您的实际问题是GAE(Google AppEngine)是否能够处理与Twitter量相当的音量。

Twitter每天推出大约2千万至3千万条推文。除了支持发布推文之外,他们还必须为阅读它们的每个人提供服务。我会把数字从空中拉出来,并猜测典型的推文被读了20次(真实数字是偏斜的:一些推文是由大量读取而其他推文可能永远不会被任何人阅读;也有一些系统试图阅读每条推文)。

所以问题是GAE是否每天可以支持5亿个请求。

根据GAE documentation,付费(非免费)应用程序每秒最多分配500个请求。这个数字太低了10倍,但它也表示如果需要,您可以每天请求额外的请求。我相信如果你足够关心它,谷歌愿意投入10个应用程序的资源。他们的基础设施当然可以支持它 - 这与Google主页每天支持的搜索量相比相形见绌。

所以答案是肯定的,GAE可以支持Twitter。 (没有其他资源似乎可能像请求数量一样造成问题。)另一个问题是,在GAE上运行这样大小的应用程序是否最佳并且具有成本效益;这取决于其他因素,但答案可能是“不”。在这种规模下,您可以从自己的专用硬件中获得节省(尽管谷歌支付所有管理费用会很高兴。)

答案 1 :(得分:4)

是的,它可以。支持Java,Python和持久存储。这足以构建简单的推特模拟。

答案 2 :(得分:2)

我将扮演魔鬼的拥护者,并说肯定有一些限制会妨碍App Engine运行Twitter的所有功能:

  • 自定义搜索的实时索引。有一些用于全文搜索的项目以及用于将来实施的全文搜索的popular issue in the issue tracker
  • App Engine中的
  • Comet support doesn't exist。 Twitter的一些部分使用彗星
  • Twitter有一个"Streaming API",它基本上是一个永不关闭的HTTP连接。这也被称为firehose。由于请求有30秒的限制,您将无法实现此

Twitter是一个具有非常独特的可扩展性问题的网站。绝对有可能在App Engine上提供具有Twitter流量特征的类似网站,但不可能仅使用App Engine构建精确的Twitter克隆。

答案 3 :(得分:0)

取决于您的要求和此类网站的设计。要么想出一个设计,然后看看它是否适合GAE。另外,设计它使其适合GAE。如果您的要求之一是可扩展性,那么GAE承诺

答案 4 :(得分:0)

今天,App Engine上正在运行名为Jaiku的类似Twitter的微博应用程序。它由Google和open-sourced拥有,因此如果您愿意,可以自行构建。