背景
机器学习开发大多使用python语言来进行开发,为了让机器学习程序支持外部的应用来获取连接,因此从python web中选择多个框架来进行研究
tornado
优点: tornado对于每秒可处理连接数的性能支持较好,其内部实现异步非阻塞的功能,特别在长轮询的性能是优于其他框架
缺点: 学习成本高,可配置项多
flask
优点: 轻量级web框架,配置简单,配合gevent可实现异步非阻塞功能,社区活跃
缺点: 暂未发现
django
优点: 企业首选框架,包含缓存、ORM、管理后台、验证表单处理,开发规范,社区活跃
缺点: 速度上比不上前两者
AioHttp
优点: 略
缺点: 社区相对前几项不够活跃
web.py
优点: 配置简单
缺点: 作者不再维护
总结
综上所述,开发企业应用,首选django,开发长连接应用与速度要求,可选tornado,其次flask