我刚刚从使用NodeJS的Express更改为使用Python的Django.我唯一想念NodeJS的地方就是出色的流程管理器pm2.我可以在Django中使用pm2吗?
解决方法:
这确实是一个非常广泛的问题,但是我想以我个人的观点,因为我在我的项目中同时使用了这两个框架.
express(nodejs) to django(python)
Express和Django都是Web框架,但是Node和Python不在同一类别.您可以说JS和Python更好. Node是JS的运行时环境,因此pm2之类的工具可以有效地管理Node进程.
对于基于Python的Web项目,您需要选择一种服务方式.常见的可能性是CGI和WSGI.
我不能谈论flask,但是Django推荐的方式是WSGI.有几个选项,包括mod_wsgi,uwsgi和gunicorn.任何控制其过程的工具都取决于您选择的工具.
从这个意义上讲,这更是复杂性的一个层次.我建议您探索所有这些,阅读它们,可能进行测试,然后选择最适合您的需求.
我个人更喜欢uwsgi,因为我发现它非常快,尤其是在负载下,并且如果主机是这样配置的(doh),有时是mod_wsgi. UWSGI有一个excellent stats解决方案.
更不用说针对WSGI最终使用的任何服务器都有许多工具.
话虽如此,对于简单的请求,您将不会轻易达到节点的响应时间.但是当节点中的事情变得复杂(太多的回调,太多的查询等)时,时间就会变得非常相似.另一方面,一旦您掌握了Django,与Node的回调地狱和完全不成熟的数据层相比,您只需花费很少的时间编写和维护代码,就会感到惊讶.