SourceForge使用Python、TurboGears、MongoDB……来重构网站

pycon2010上关于SF网站重构的演讲,里面介绍了SF重构的技术选型及原因。在我看来SF用的东西还真的很GEEK。

主要用到的技术有Python、TurboGears2MongoDBJinja*、RabbitMQ,服务器用的是LigHTTPd和Nginx。

  • TurboGears2(为什么不的Django?)
    pdf中也有谈到此前也用到过django,而且有很不错的体验,但对SF的改造来说TG更为合适。SF有着上10年的历史,要完全抛弃原有的东西自然不现实,此次的网站重构并不是完全的重写。TG可以很容易的剥离掉不需要用到的东西,同时TG可以很好的同其他WSGI中间件配合工作。
  • MongoDB
    MongoDB是一个非关系的分布式数据库(NoSQL数据库),最大的优势快。由于这东西足够快,所以连web2.0网站常用的memcached也省掉了。(注:NoSQL数据库介绍可以参考 NoSQL数据库探讨之一 - 为什么要用非关系数据库)
  • Jinja*
    Django的模板很棒,但速度不怎么快,而且完全不支持任何嵌入式代码。Jinja和Django的模板长得非常的象,而且解决了上面的两个问题。(注:文档里说前台用的是PHP,所以不清楚是否有部分用到Jinja)
  • RabbitMQ
    用Erlang写的中间件,进行前后台的消息通信。SF的前台界面呈现,依旧使用的PHP,前后台通信用的就是这东西。

One comment

  • timest
    2012年03月31号 - 10:28 pm | Permalink

    楼主有用过 Django 和 MongoDB ,结合开发过项目吗? 最近在学习整合这两个技术,发现 Django下 用MongoDB后 数据的 操作 没有 sql数据库来得智能,很多功能都要自己去实现!

  • Comments are closed.