|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 dishan 于 2022-3-27 11:00 编辑
大家好:
最近我一直在学习Django,为此还恶补了一些前端的知识,收获很多。但学习之余,也有一些思考,特意今天整理一下供过来人一起讨论学习一下。关于python的几大web框架的区别以及发展方向的问题。纯属讨论,不涉及具体技术。我们只讨论目前主流的四大框架——————Django\Flask\Tornado\以及新火起来的FastApi
先说我了解到的:
1.学框架都是从Django和Flask开始的,Django重,Flask轻,有的培训老师也说,Flask在项目后期其实就会演变成Django的感觉。
2.Django和Flask的其中一个大区别是Django模块库都在一家公司,而Flask的库在第三方为主,会引入不同机构的库(一个安全,一个灵活)。
3. Tornado也是一个轻量级的框架,但它有一个非常突出的“异步非阻塞”能力,并发能力突出,一个通讯线程可以并发多项业务。甚至可以用做游戏服务器。
4.Tornado以性能为主打,但较Django Flask的对应的库较少,不适合新手
5.FastApi这个新火框架也是以性能为主打,它的并发处理从吹的程度来说更历害,好像比Tornado都要牛。甚至标榜专门用做并发的语言Golang(被人否定过,但性能高似乎可以肯定)
6.FastApi的缺点似乎和T一样,当下比较小众,还有一段体系生态的路子要走,对Python初学WEB框架的人不友好
综上,我的问题联想来了:
一.Django(或Flask)在后期遇上性能瓶颈该怎么解决?
最想知道的是,Django在流量上升之后如何不硬件升级完成性能提升(不管什么同步异步)
1.网上搜索了下(不懂,有什说什),有个叫gevent的技术加入到django项目中,会提高Django的处理能力。————小公司的服务器成本都不高,现在云服务器价格比较低,但不保以后垄断期会被升高。在不花硬件成本的情况升级性能想知道是什么路线。
2.Django在3.0后加入了异步功能,但培训学校的老师说性能现在不行。
有没有这个可能,Django用些T或F的组件库之类的(仿制之类的),在后期进升这些性能。当下学Django的人在后期有机会得到这种技术福利。
二.听起来似乎FastApi更快些,是不是F会取代T的市场,甚至取代Flask
毕竟和T比都是轻量级框架,
用得人少了,生态匮乏,后期技术也容易被淘汰。
三. 也有一种观点,如果用到并发大规模处理,,哪还轮到T或F直接可以换语言了,由Python直接跳到Golang去了(说是豆瓣正在由Python切到Go)
就是说python不管哪个架构,只用作前期项目,市场检验,后期发展起来业务量大,就用不到Py了。这种观点似乎又把T和F边缘化了呵呵。
闲来想了解一下,依照目前Python的这几个框架,能会做出多大的流旺的网站应用呢?
就比如说,目前云服务器的2核4G内存的云服务器,能有个多大访问量。同时500人访问?(一个同时500人访问的网站相当厉害了,当日访问量非常大的)
四. 整体上看,大的公司用JAVA的WEB框加的人多,越是标准化大企业越用JAVA,尤其设计支付内容,有人说Go的出现会蚕食掉相当大一部分JAVA的份额。大家对JAVA Go Python这三者WEB的关系怎么看? |
|