可伸缩的Web应用程序(如twitter)所需的语言,工具和方法

时间:2009-10-15 10:27:44

标签: performance web-applications scalable

如果你今天要开发推特,那将会采用哪种语言,工具和方法。他将如何从非常节俭的配置开始,逐渐扩展到Twitter今天达到的水平。如果您能提供直接响应,如(PHP + Apache + memchached + MySQL)或(JSP + TomCat / Glassfish + MySQL /其他数据库)等,请加入

标准是一种体系结构,可以在没有太多工程和正确语言的情况下轻松扩展,因此一旦相同的情况下就不需要重新考虑他的决定。

(据我所知,Twitter是RoR,Linked in是Java和Digg in Php。所以不要只是随意的想法:))支持为什么你认为你的选择应该足够。

由于

3 个答案:

答案 0 :(得分:1)

正如您已经说过的,有几个应用程序表明有几种技术可以扩展。幸运的是他们。

我认为你不应只关注“这项技术是否适合扩展”。但是关于以下两点:

  • 您是否掌握该技术的技能?
  • 该技术是否适应(通过它的理念)适用于该应用程序?

缩放是一件事。但是,如果你不能用“杀手”技术开发你的应用程序,因为你不理解它,它无论如何都是无用的。

答案 1 :(得分:1)

我建议您查看High Scalability网站。您可以使用几乎任何语言构建可扩展的Web应用程序,但这不仅仅是使用正确的技术然后插入它的问题。无论您使用何种技术,您都必须知道自己在做什么!

答案 2 :(得分:0)

Twitter是使用Ruby on Rails(ROR)框架开发的,这似乎是一个不错的选择。 Ruby on rails与数据库无关(支持大多数数据库),非常可扩展,非常适合快速开发Web应用程序。 Cake是PHP的流行替代品我没有使用Cake但听到它非常相似。这些开源替代品的替代方案将是一个完整的企业环境,如微软.NET frameweork。