Python的5个顶级异步框架-创新互联
Python在3.4引入了 asyncio 库,3.6新增了关键字 async和await,此后,异步框架迅速发展了起来,性能上能和Node.js比肩,除非是CPU密集型任务,否则没有理由不适用异步框架。
目前成都创新互联已为1000+的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、尼金平网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。如果你是Web开发者,现在异步Web框架上有了更多选择!
1、Tornado
Tornado 根本不是什么新框架,它最初是由FriendFeed(后被Facebook收购)在2009年发布。从一开始就提供有异步编程的功能。
Tornado 不仅仅是Web框架,同时它内置了很多异步模块,可用于自己构建异步应用。这些模块包括:
- 协同程序和其他原语(tornado.gen,tornado.locks,tornado.queues等)
- 网络模块(tornado.ioloop,tornado.iostream)
- 异步服务器和客户端(tornado.httpserver,httpclient,等)
通过这些模块,Tornado 构建了自己的异步Web框架模块。
import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world")def make_app(): return tornado.web.Application([ (r"/", MainHandler), ])if __name__ == "__main__": app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start()
Tornado在Python社区中拥有很多追随者,并且经验丰富的架构师使用它们来构建功能强大的系统。这个框架长期以来一直在解决并发问题,但是由于它不支持WSGI标准(大部分Python库仍在同步中),因此尚未成为主流。
国内据说知乎是基于Torando构建的。
2、 Snaic
Sanic是一个诞生有3年的框架:它只支持3.6以上Python版本,支持通用的async / await语法,开箱即用,因此你无需阅读大量文档就可以写出你的一个HTTP 处理器。
除了async关键字之外,语法上和 flask 基于没差别。
from sanic import Sanicfrom sanic.response import jsonapp = Sanic()@app.route("/")async def test(request): return json({"hello": "world"})if __name__ == "__main__": app.run(host="0.0.0.0", port=8000)
Sanic可以说是Python世界中最流行和最受欢迎的异步框架。它具有你项目中需要的所有功能:路由,中间件,Cookie,版本控制,蓝图,基于类的视图,静态文件,流,sockets,此外你还可以集成模板,数据库驱动,文件I / O,队列等等。
3、Vibora
Vibora和Sanic非常像,致力于成为最快的Python Web服务器。他们网站首页有一个框架比较图:
网站名称:Python的5个顶级异步框架-创新互联
浏览路径:http://scyanting.com/article/dddocg.html