Tornado, Flask&Django区别

Tornado:
天生异步(异步网络库,非阻塞网络 I / O 模型,可以处理数以千计的网络连接,适合处理 long polling 、WebSockets 和等需要长时间实时连接的 app),性能强悍是Tornado的名片,然而Tornado相比Django 是较为原始的框架,诸多内容需要自己去处理。当然,随着项目越来越大,框架能够提供的功能占比越来越小,更多的内容需要团队自己去实现, Tornado项目代表:知乎。

Flask:
微框架的典范,加上Flask可以灵活地,可拓展的选择技术,eg. 数据库交互组件(通常是Flask-SQLAlchemy),而且加上celery+redis等异步特性以后,Flask的性能相对Tornado也不逞多让.项目代表:Pinterest

Django:
一个最全能的 Python Web 框架,支持快速开发简洁、实用的网站。它提供从模版引擎到 ORM 所需的一切东西。相对于所有其他的库,Django 框架有最强的社区,这意味着可以轻松获得帮助。[各种功能完备,可维护性和开发速度一级棒],而对于Django的同步特性导致吞吐量小的问题, Django的项目代表:Instagram,Guardian。

*C10K
在同时连接到服务器的客户端数量超过 10000 个的环境中,即便硬件性能足够, 依然无法正常提供服务,简而言之,就是单机1万个并发连接问题.
通过单个进程或线程服务于多个客户端请求,通过异步编程和事件触发机制替换轮训,IO 采用非阻塞的方式,减少不必要的性能损耗

你可能感兴趣的:(项目)