重新实现stackoverflow.com的建议技术

时间:2011-05-15 06:06:31

标签: architecture scalability

如果您现在要重新实现SO,您会使用哪些技术?如果您受限于Java技术,您将使用哪些技术。

3 个答案:

答案 0 :(得分:6)

这就是我写的答案。

这是一个有趣的问题,因为SO实际上是以非常传统的方式为Web应用程序构建的,但与通常的Web应用程序不具有很多共同特征。特别是,它需要具有高度可扩展性,但业务规则和数据存储要求并不复杂。

所以,使用今天的技术,我会使用

  1. 传统的javascript; SO使用jquery,这没关系。

  2. 我使用像Unicorn这样的面向工作池的Web应用程序,以便于扩展。

  3. 我会使用Hadoop和Cassandra来存储问题和评论。

  4. 我会在整个数据库中使用MapReduce实施评分和排名规则。

  5. 方便的是,大多数都可以从Java获得,虽然我更喜欢像Ruby或Python这样的脚本语言。

    我会避免通常基于Java EE的世界。在我看来 - 我是Sun的Java EE的早期用户 - techno.logy过度了。我也避免使用基于Windows的服务器;他们很难管理,而且相对昂贵。 (我可以以与OS许可证大致相同的价格构建服务器硬件。)

答案 1 :(得分:1)

我的办公室角落里没有服务器机架:),请将它放在云端。

btw here是对当前架构的概述

答案 2 :(得分:0)

缩放OUT而非缩放。