Tornado 和 flask 的区别

发布时间 2023-05-17 17:11:57作者: Boiiea

Tornado和Flask是Python Web开发的两种框架,他们有以下区别:

  1. 应用场景不同:Tornado主要用于实时Web服务和长轮询等场景,例如消息推送,Flask则用于传统的Web应用。
  2. 性能不同:Tornado采用了异步非阻塞的IO模型,而Flask则是阻塞模型,因此在高负载的情况下,Tornado相对于Flask拥有着更好的性能。
  3. 技术栈不同:Tornado是一个协程框架,支持Python 3.x和 Python 2.7,适用于webSockets、长连接等场景,Flask是一个微框架,它本身不带有额外的自带的模块。Flask的开发方式是装饰器式写法,扩展起来也比较麻烦。
  4. 编写程序的方式不同:Tornado的编程风格比较像异步编程,因此需要熟悉异步编程的相关知识,而Flask则是采用常规的同步编程方式,上手比较简单。

总之,如果需要处理高并发、高频宽带等实时事件处理应用,可以选择Tornado,但如果需要进行常规的Web应用开发,选择Flask可能更加适合。