6

web 开发有 Python 的 sanic 的异步框架还有必要转 go 吗

 2 years ago
source link: https://www.v2ex.com/t/847614
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Python

web 开发有 Python 的 sanic 的异步框架还有必要转 go 吗

  longmeier90 · 16 小时 52 分钟前 · 1309 次点击

之前都说 web 服务开发都是的瓶颈多是网络 IO 与磁盘 IO 造成的。 以前的 python 同步框架并发高的时候会很慢,但是异步框架 sanic 性能很高可以与 gin 相媲美。 那么还有必要换 go 语言吗,自己对 go 还没有做深入了解,所以想请大佬一起聊聊,go 与 python 异步开发的差异性。

18 条回复    2022-04-19 02:38:22 +08:00

fgwmlhdkkkw

fgwmlhdkkkw      16 小时 50 分钟前

web 服务的性能瓶颈应该是数据库,前面的再快也就那样吧……
但是最大的瓶颈还是业务本身。
不过对于做技术的人来说,技多不压身嘛~

westoy

westoy      16 小时 43 分钟前   ❤️ 1

你去看看 sanic 列出的三方扩展, 有几个在一两年内还有维护的

python 从来不缺协程库, 20 年前就有 stackless 和 twisted , 十几年前 eventlet , 十年前 gevent

库支持从来不是问题, 完整的库生态支持才是问题......

ospider

ospider      16 小时 21 分钟前

难道不应该是团队用啥你用啥……

ClericPy

ClericPy      16 小时 7 分钟前

粗略看单核效率的话, Python 和 golang 的协程并发性能差距其实并不大, 多核差距开多核也能拉近. 就拿现在比较主流的 Fastapi 一两万 QPS 的性能来说, 日常根本到不了这种量级的压力, 等到了这个压力的时候, 自然也有新的认识, 估计也不会再问出这种问题

总而言之, 选最擅长的, 其次再考虑业界主流(主要容易招人). 先顺应团队生态, 再考虑顺应市场生态, 前者决定生存, 后者决定发展

est

est      16 小时 3 分钟前

你们瓶颈都在 web 框架上?

俺这还是在 db 上。

jones2000

jones2000      15 小时 58 分钟前

主要看能不能通过提升机器性能来,解决问题,如果可以。 升级硬件。 开发是没有办法中的办法了, 花十几 W 升级硬件多美,你用十几 W 能招几个人, 下次开人还要 N+1 。

kingjpa

kingjpa      15 小时 43 分钟前

好尴尬,我这里除了压测,还没遇到瓶颈。。。

longmeier90

longmeier90      15 小时 31 分钟前

@kingjpa 我们太菜了,嘎嘎嘎...

liuxingdeyu

liuxingdeyu      14 小时 24 分钟前   ❤️ 1

我觉得,学一门语言更多是为了学这门语言的主流编程思想

lux182

lux182      13 小时 54 分钟前

sanic 周边似乎有点少,go 不熟悉。

neoblackcap

neoblackcap      13 小时 30 分钟前   ❤️ 2

go 一整个语言就是协程框架,sanic 没法跟它比性能的。
只要是 go 生态的,那么就已经是进入了它的协程生态。python 生态却不一样,有很多同步库的。
但是如果你因为这个问题来问选什么的话,那么我建议你不用选。你自己熟悉什么语言就继续用什么语言就可以了。我还说 Rust 的 actix-web 性能更强,难道你还要去学 Rust?

一般业务的性能差异,我觉得还轮不到你来考虑这些框架的性能满足不了你。这些框架哪个不能轻松解决 C10K 问题?而且 C10K 都是 20 年前的问题了。但是你的生产环境有 C10K 问题吗?等你的业务上了 1 万并发再来考虑吧。

raycool

raycool      13 小时 27 分钟前

以前我用 tornado 写过几个生产项目,不过对并发要求都不高。

roundgis

roundgis      13 小时 23 分钟前 via Android

又不是不能用。。。

dilu

dilu      13 小时 14 分钟前

相信我,99.99%的项目,其实都不会有性能问题。

iyaozhen

iyaozhen      12 小时 30 分钟前   ❤️ 1

主要是生态(就业) 这么说吧,你搞 Python Web ,这个公司,这个产品可能都没问题,一旦裁员变动,就肯定没有 Go Web 的好找工作

nonduality

nonduality      7 小时 59 分钟前

IG 这些年来始终用 Django ,除了优化性能,就是加机器,而不是改用语言或框架。

venicid

venicid      5 小时 23 分钟前

不用转,不要来,学 python 挺好的(狗头)别和我抢饭碗

ToBeHacker

ToBeHacker      1 小时 43 分钟前

你用了异步,所有的 IO 都得用异步库,目前这方面 Python 的生态还是不够

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK