Flask内置Web服务器的局限性是什么

Flask内置Web服务器的局限性是什么,第1张

Flask内置Web服务器的局限性是什么

这个问题没有一个正确的答案,但是请记住以下几点:

通过适当的水平扩展,你很有可能可以永远扩展使用调试服务器。究竟何时需要开始扩展(或切换为使用“真实的” Web服务器),这还取决于你所托管的环境,用户的期望等。

你可能会遇到的主要问题是服务器是单线程的。这意味着它将一次连续地处理每个请求。这意味着,如果你尝试服务多个请求(包括网站图标,图像,CSS和Javascript文件等静态项),则请求将花费更长的时间。如果任何给定的请求恰好花费很长时间(例如20秒),则整个应用程序将在该时间(20秒)内无响应。当然,这只是默认设置:你可以增加线程数(或在其他进程中处理请求),这可以缓解某些问题。但是再一次,它在“高”负载下仍然会变慢。所谓的“高”负载将取决于你的应用程序以及对最大可接受响应时间的期望。

另一个问题是安全性:如果你完全关心安全性(不仅是应用程序本身中数据的安全性,还包括将要运行它的盒子的安全性),那么你不应该使用开发服务器。它尚未准备好承受任何形式的攻击。

最后,开发服务器可能会完全失败。它并非设计用于长时间运行(几天,几周,几个月),因此尚未经过充分测试以达到此目的。

因此,是的,它有局限性。是的,你仍然可以想象在生产中使用它。是的,我仍然建议使用“真实” Web服务器。如果你不喜欢需要安装Apache或Nginx之类的想法,则仍然可以使用一些WSGI Standalone服务器,该解决方案仍然像“运行python脚本”一样简单。设计用于生产中的服务器,就像

python run_app.py
在命令行中运行一样简单。通常,你只需要创建4-5行的python脚本即可导入和创建服务器对象,将其指向Flask app并运行它。

gunicorn可以仅在命令行上运行以下命令,而无需额外的脚本:

gunicorn myproject:app

…其中“ myproject”是包含appFlask对象的Python包。请记住,其中一个“ gunicorn”开发商可能会建议你反对这种方法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4917335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存