This topic created in 4249 days ago, the information mentioned may be changed or developed.
现在产品的stack是Nginx+Gunicorn(worker-class=gevent)+Django, 但是总是听到NodeJS高并发的惊人传说,在想下个项目要不要转NodeJS,有几点要考虑:
1. 对Django框架比较熟了,换NodeJS有一定学习成本,而且express是比较轻量的框架,是不是免不了要自己写一些轮子?
2. 看了很多比较gevent,nodejs的benchmark,用的方法和结果都不一样,似乎没有统一结论。是不是真的相差很多?
3. Tornado怎么样?用gevent,项目代码不用改就能达到异步效果;用Tornado的话,是不是要写异步的代码?
有经验的来聊聊。
6 replies • 2014-11-03 16:34:23 +08:00
 |
|
1
Livid Nov 3, 2014 1
如果是实验项目,那就用自己最好奇的来做探索。
对于重要的项目,还是尽可能用自己熟悉的东西吧。
数据库驱动的 web 项目,大部分时候瓶颈不是在框架上,而是在缓存架构的设计和数据库上。
|
 |
|
2
tang8888 Nov 3, 2014
楼主你说的这些都太年轻小清新了,建议你用大众化的PHP或JAVA,网上的资料多,可实现的功能多,用户体验好.
|
 |
|
3
tang8888 Nov 3, 2014
永远要记得,成熟稳重大方才是硬道理.不要片面求新,求独特,求与众不同.否则将自毁之.
|
 |
|
4
em70 Nov 3, 2014 1
大多数失败的互联网项目都是在只有100个用户的时候去考虑1亿用户的问题
不管用什么技术方案你都不大可能遇到实际的并发问题,真遇到了说明你的项目已经成功了,有足够的资源应对,现在真没必要操这个心.
|
 |
|
5
chemzqm Nov 3, 2014
express已经集成了几乎所以常用的中间件了,至于模板渲染和数据库连接之类的npm里面也有的是轮子可以选择。 Nodejs主要问题是嵌套回调,这种东西开发调试都很恶心,用koa会好一点
|
 |
|
6
66450146 Nov 3, 2014
gunicorn + django + gevent 用好反向代理,配合正确的数据库和缓存,完全可以解决你的问题了,瓶颈往往在 IO 而不是 CPU
application 端是最容易 scale 的,不必太担心这头的性能问题
|