V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
isno
V2EX  ›  Tornado

亮一个使用tornado做的小项目

  •  
  •   isno · 2013-05-17 11:28:05 +08:00 · 7915 次点击
    这是一个创建于 4215 天前的主题,其中的信息可能已经有所发展或是发生改变。
    属于Qzone 应用
    刚上线没多久,bug还比较多,正不断完善中
    使用 tornado 3.0.1 + mako + mysql + memcache
    后端 supervisor 管理两个 tornado 进程 (其实一个就可以), 前端使用nginx
    服务器使用的阿里云 内存 1G, 单核

    项目地址 :
    http://rc.qzone.qq.com/801040655?via=DLJ
    18 条回复    2014-09-19 23:38:06 +08:00
    isno
        1
    isno  
    OP
       2013-05-17 11:34:45 +08:00   ❤️ 1
    开发中, 觉得 mongoDB 配合 tornado 才合适,但懒的改了
    下个项目 使用 tornado + mongoDB (已经开始开发了,很快就会完成)

    以前写了很长时间的php, 觉得在开发web项目上,没什么语言能胜过php了
    但熟悉 python后,用 tornado,开发速度也非常快, 不逊与php (使用mongoDB)

    现在自己的业余小项目基本上全都使用 tornado开发... :)
    mozii
        2
    mozii  
       2013-05-17 15:31:40 +08:00   ❤️ 1
    @isno 怎么联系楼主?有事请教。多谢。
    shiny
        3
    shiny  
       2013-05-17 15:34:31 +08:00
    我的项目也基本用 Tornado + MongoDB 开发了,但是遇到个问题:内存泄漏…
    lazybios
        4
    lazybios  
       2013-05-17 16:11:14 +08:00
    这应用名字起的亮啊!
    thai9quohs6jae1C
        5
    thai9quohs6jae1C  
       2013-05-17 16:12:14 +08:00
    一年多少钱呢?
    thai9quohs6jae1C
        6
    thai9quohs6jae1C  
       2013-05-17 16:26:02 +08:00
    如果楼主能开源这个项目就更好了。
    zhangxiao
        7
    zhangxiao  
       2013-05-17 16:28:46 +08:00
    去年也用tornado+mongodb做了个小项目,给游戏汉化组用的。感觉mongo还是有些不够的地方,比如无法按照一个数组元素的长度排序,除非做aggregation,但是觉得aggregation做这种事情有点overkill了。

    @shiny 请问内存泄漏是哪个部分?
    shiny
        8
    shiny  
       2013-05-17 16:49:07 +08:00
    @zhangxiao
    举例,我的后台值守程序用了 tornado 自带的 HTTPClient,结果内存不断泄露;换了 requests 就好了。其他部分也有泄露的,临时用定时重启解决着后面再看…

    看来以后上线之前得先压一压……

    MongoDB 在某些方面确实不方便。
    coderliss
        9
    coderliss  
       2013-05-17 16:55:15 +08:00
    应用名字亮了,啪啪
    chemzqm
        10
    chemzqm  
       2013-05-18 02:11:08 +08:00
    @coderliss 建议你可以试试 nodejs + mongodb
    @shiny
    @zhangxiao mongodb有些操作可以放到应用层来处理,不要抱着sql那套做法不放,有时候为了程序的简单性多次存取数据库也不会有什么问题。如果没有通过程序设定集合的schema,以后维护会麻烦一些。
    shiny
        11
    shiny  
       2013-05-18 10:22:03 +08:00
    @chemzqm 有时候不是程序多次读取就能解决的,典型的比如复杂点的排序。
    有时候为了增加功能只能增加冗余字段。
    yaotian
        12
    yaotian  
       2013-05-18 11:24:48 +08:00
    如何盈利?
    pfipdaniel
        13
    pfipdaniel  
       2013-05-18 11:40:28 +08:00
    这么邪恶的名字怎么想出来的.....
    cloudaice
        14
    cloudaice  
       2013-05-22 18:08:00 +08:00
    你们用tornado做的时候都是用的异步库吗?不然,单个线程阻塞会很严重吧,还有要是把自带的httpclient换成requests的话也会造成阻塞的问题的。
    isno
        15
    isno  
    OP
       2013-05-24 10:26:10 +08:00
    @cloudaice 你把阻塞想的太严重了, 这种流量很小的app,
    只要开两个进程,还有在有网络请求的地方注意下即可(单进程也可满足需求)

    开发的前期尽量不要过度设计
    cloudaice
        16
    cloudaice  
       2013-05-24 18:19:02 +08:00
    @isno 但是我觉得如果能够把它的异步性能全部发挥出来会更好。也体现了它作为web框架的优势。当然考虑异步主要就在数据库访问和网络请求上。
    shiny
        17
    shiny  
       2013-05-24 18:35:51 +08:00
    @cloudaice 换成requests是因为后台值守程序,如果是web可以试试 CurlAsyncHTTPClient 也许内存方面控制好点。
    vicwutaojun
        18
    vicwutaojun  
       2014-09-19 23:38:06 +08:00
    @isno 有知道优秀的 python 后端吗?急需人一起做一件很 NB 的事情。weibo.com/vicwutaojun
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2629 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:11 · PVG 11:11 · LAX 19:11 · JFK 22:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.