V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangleineo
V2EX  ›  问与答

Web 并发哪家强?Gevent or Tornado or NodeJS?

  •  
  •   wangleineo · 2014-11-03 15:12:23 +08:00 · 5416 次点击
    这是一个创建于 3703 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在产品的stack是Nginx+Gunicorn(worker-class=gevent)+Django, 但是总是听到NodeJS高并发的惊人传说,在想下个项目要不要转NodeJS,有几点要考虑:
    1. 对Django框架比较熟了,换NodeJS有一定学习成本,而且express是比较轻量的框架,是不是免不了要自己写一些轮子?
    2. 看了很多比较gevent,nodejs的benchmark,用的方法和结果都不一样,似乎没有统一结论。是不是真的相差很多?
    3. Tornado怎么样?用gevent,项目代码不用改就能达到异步效果;用Tornado的话,是不是要写异步的代码?
    有经验的来聊聊。
    6 条回复    2014-11-03 16:34:23 +08:00
    Livid
        1
    Livid  
    MOD
       2014-11-03 15:48:18 +08:00   ❤️ 1
    如果是实验项目,那就用自己最好奇的来做探索。

    对于重要的项目,还是尽可能用自己熟悉的东西吧。

    数据库驱动的 web 项目,大部分时候瓶颈不是在框架上,而是在缓存架构的设计和数据库上。
    tang8888
        2
    tang8888  
       2014-11-03 16:11:35 +08:00
    楼主你说的这些都太年轻小清新了,建议你用大众化的PHP或JAVA,网上的资料多,可实现的功能多,用户体验好.
    tang8888
        3
    tang8888  
       2014-11-03 16:12:55 +08:00
    永远要记得,成熟稳重大方才是硬道理.不要片面求新,求独特,求与众不同.否则将自毁之.
    em70
        4
    em70  
       2014-11-03 16:17:07 +08:00   ❤️ 1
    大多数失败的互联网项目都是在只有100个用户的时候去考虑1亿用户的问题

    不管用什么技术方案你都不大可能遇到实际的并发问题,真遇到了说明你的项目已经成功了,有足够的资源应对,现在真没必要操这个心.
    chemzqm
        5
    chemzqm  
       2014-11-03 16:20:11 +08:00
    express已经集成了几乎所以常用的中间件了,至于模板渲染和数据库连接之类的npm里面也有的是轮子可以选择。
    Nodejs主要问题是嵌套回调,这种东西开发调试都很恶心,用koa会好一点
    66450146
        6
    66450146  
       2014-11-03 16:34:23 +08:00
    gunicorn + django + gevent 用好反向代理,配合正确的数据库和缓存,完全可以解决你的问题了,瓶颈往往在 IO 而不是 CPU

    application 端是最容易 scale 的,不必太担心这头的性能问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1270 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:50 · PVG 01:50 · LAX 09:50 · JFK 12:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.