[求解] 什么样的情况下才会从 django 到 Node?

2018-05-06 00:57:13 +08:00
 hyhnm

项目目前用的是 django,估计 69%,前两天说要转到 node (不是重写一遍);

在这个之前按照需求做了一个 简单的 Node 的 Api (并没有使用);

leader 说因为效能所以要使用 Node (“说”是读写量大,django 不能胜任);特定群体的项目 -> w;

然后又“说”因为效能问题不使用 Docker ;

这是什么操作?不是很理解....

使用 django 会面临性能问题? 周一给答复(表示一头雾水)

求 V 友建议哪些可以迁移到 Node ? Django 优化的文章可以推荐推荐。给跪了...

2228 次点击
所在节点    问与答
13 条回复
e9e499d78f
2018-05-06 01:03:51 +08:00
听 leader 的,让 leader 来写
hyhnm
2018-05-06 01:32:57 +08:00
@e9e499d78f 😂好主意
kidlj
2018-05-06 02:09:08 +08:00
这么说吧,因为 node 是天然异步的原因,如果不是计算密集型而是 io 密集型的场景,node 用几十兆内存,10%的 CPU 就能跑满 mysql 30%-40%的 io。即使将来有更高的并发,node 这块也不会成为瓶颈,而是慢在数据库那里,这个时候着重优化 io 就好了。而且 node 的 web 框架 Express 非常简单易用,两天就能把所有 API 过一遍了,剩下就是往上堆业务逻辑的中间件(顺序调用)。用 node 开发 web 真的性能又好出活又快。
kidlj
2018-05-06 02:12:38 +08:00
Node 版本选高一点的版本,使用 async/await,用同步的方式写异步逻辑,简直不要太爽。
ericls
2018-05-06 05:36:26 +08:00
一般这种问题是 应该是你们的盈利模式的问题
orangeade
2018-05-06 06:57:54 +08:00
@kidlj Python 早就有 async/await 了
orangeade
2018-05-06 07:11:10 +08:00
Python 上 asyncio + uvloop + type hint,
就已经相当于 ndejs + typescript 了,
而且开发体验非常好,还用啥 node js。

django 优化的文章可以看 Instagram 公司的技术博客,它们月活都是数亿了,不还在用 django
kiwi95
2018-05-06 09:21:38 +08:00
个人体验,python 性能确实差。如果你们没有性能优化经验的人,对外服务用 python 还是多考虑比较好。读写和网络量大的话 node 确实更合适,但如果你们业务逻辑很复杂的话,node 代码隐藏的坑又会比较多。

至于有什么公司用 python 达到了什么性能,那和你一般公司没有什么关系
bestkayle
2018-05-06 09:32:06 +08:00
遇到性能问题是好事,就怕根本遇不到
hyhnm
2018-05-06 11:17:48 +08:00
@bestkayle 是的,有这种情况非常乐意的
@kiwi95 谢谢,目前 IO 都是嘴上说,我估计是碰不到的
@orangeade 多谢老铁
@ericls 老哥经验啊,公司目前给我有种不好的预感。
@kidlj 用写过一点点 API,连续请求 10 次就挂了,之前是按照[这个博客]( https://blog.csdn.net/kkdestiny/article/details/51434806)写的,老哥这方面的资料和 express demo 吗
msg7086
2018-05-06 12:03:24 +08:00
初创公司,大家会啥用啥,上线跑起来完成 POC 以后,流量上来了,达不到要求了,再逐步重写热点。

大多数的项目在达到流量瓶颈之前就已经关门歇业了,根本轮不到讨论 Python 和 Node 之间性能差距的机会。
puritania
2018-05-06 12:35:54 +08:00
跟他说不如直接用 go
nyfair
2018-05-06 12:56:29 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/452450

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX