django、flask和tornado区别

本文对比了django、flask和tornado在Python web开发框架中的性能和部署特点。强调tornado的高性能源于底层io处理机制,而django和flask因其丰富的生态和易理解性依然受欢迎。文章探讨了WSGI、uWSGI、nginx的角色,以及反向代理在提升服务器性能和安全性方面的作用。此外,还提到了asyncio和tornado在异步编程中的应用和发展趋势。
摘要由CSDN通过智能技术生成

今天我们来讨论一下、django、flask和tornado的部署对比:

1. 概述

在python的web开发框架中,目前使用量最高的几个是django、flask和tornado, 经常会有人拿这几个对比,相信大家的初步印象应该是 django大而全、flask小而精、tornado性能高。

tornado性能比django和flask高很多是因为tornado在底层io处理机制上和django以及flask有着根本的区别:

1\. tornado、gevent、asyncio、aiohttp:底层使用的是事件循环+协程
2\. django和flask: 传统的模型,阻塞io模型

虽然django和flask比tornado和asyncio性能低,但是他们作为老牌的框架:生态丰富,代码容易理解,简单啊!但是我相信通过asyncio和tornado进行并发编程必定会成为未来的另一个主流方向。这里我个人更看好基于asyncio的框架。nodejs和go语言都得益于协程轻松实现了高并发。

但是今天我们要介绍的并不是协程,而是从这些框架的部署来进行对比:

2. django和flask

在django和flask部署中,我们经常会遇到以下几个概念:

web框架、 wsgi、  uwsgi、   uWSGI、    nginx

这些概念是什么意思:

  1. WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web server如何与web application通信的规范。要实现WSGI协议,必须同时实现web server和web application,当前运行在WSGI协议之上的web框架有Bottle, Flask, Django。
  2. uwsgi:与WSGI一样是一种通信协议,是uWSGI服务器的独占协议,用于定义传输信息的类型(type of information)
  3. uWSGI:是一个web服务器,实现了WSGI协议、uwsgi协议、http协议等。
  4. WSGI协议主要包括server和application两部分&#x
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值