V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
MonkLuf
V2EX  ›  分享创造

轮子 - 更快速的构建生产环境下的 Flask Web 应用

  •  
  •   MonkLuf ·
    monklof · 2016-04-27 23:56:36 +08:00 · 5248 次点击
    这是一个创建于 3163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址: https://github.com/monklof/flaskproject-in-production

    简要介绍一下,有兴趣的同学可以点进去看看:

    这是一个较小的 Flask Demo ,集成了一些在基于 Flask 开发部署 Web 应用时非常有用的功能,基于它,你可以快速开始写一个 Flask 应用并应用到生产环境下。

    Flask 本身是一个轻量级的 Web 框架,提供了 Web 请求处理的基本框架,能帮助开发者解决许多在 HTTP 请求处理层面上的许多问题。但在实际的工程中,我们往往需要做更多的工作来使得基于 Flask 的应用能够应用到生产环境下。譬如:

    • 用户认证: 有些资源 /页面访问时需要进行认证,而这个过程其实是比较通用的,能否把这个功能集成好呢?
    • 程序配置管理: 线下开发和线上部署时程序往往要使用不同的配置(比如常见的情况就是线下开发需要指向线下数据库,而线上需要指向线上数据库),能否提供一种通用的配置方式呢?使得程序可以方便的进行配置切换?
    • 生产环境下的部署: Flask 自带的调试 server 是单线程的,一个请求阻塞后之后的请求都会被卡住,在生产环境下肯定不能使用这个 server 。通常我们会选择使用[Gunicorn][gunicorn]这样的服务器来作为生产环境下的并发方案,这个功能也可以集成起来。
    • 日志文件管理: 在生产环境下,往往要记录程序的访问日志、出错日志、应用日志以方便进行问题定位。而 Flask 是没有提供这样的机制的,往往还需要开发者再去开发这样的功能。

    我相信这些功能,是一个健康成熟的线上生产应用的通用需求。 FIP 将这些功能集成起来,以方便开发者开发时,不再需要再关注这些通用性的问题,而将关注点切换至更高层次上解决问题,提高开发效率。

    5 条回复    2016-04-29 10:32:36 +08:00
    lostab
        1
    lostab  
       2016-04-28 01:03:06 +08:00 via Android
    呵呵,相同的想法,只不过我沉浸在 django 里面。最近也在尝试看 flask 跟 nodejs
    strwei
        2
    strwei  
       2016-04-28 01:25:53 +08:00
    没啥创新,还是点了 start ,关注一下
    MonkLuf
        3
    MonkLuf  
    OP
       2016-04-28 09:47:28 +08:00
    @strwei 集成嘛...开心有用就好...
    junnplus
        4
    junnplus  
       2016-04-28 22:04:50 +08:00
    尴尬癌犯了,没有 pep8
    MonkLuf
        5
    MonkLuf  
    OP
       2016-04-29 10:32:36 +08:00
    @junnplus 嗯,这个可以加 🙈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:34 · PVG 10:34 · LAX 18:34 · JFK 21:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.