tornado-设计初衷
1. 追求小而精
2. epoll IO多路复用和协程
3. 支持WebSocket
4. 单线程程序(GIL限制,本身某种意义上不启动多进程就是单线程程序)
# Python GIL介绍详情
tronado应用场景
1. 大量的http请求连接(大量的用户请求,要求并发性和高性能)
tronado-基础-Hello World-Web架构
from tornado import web, ioloopclass HelloHandler(web.RequestHandler):def get(self, *args, **kwargs):self.write("Hello 北门吹雪")def make_app():return web.Application([("/", HelloHandler),])if __name__ == '__main__':app = make_app()app.listen(8000)ioloop.IOLoop.current().start()
tornado请求原理图
经验:
1. tornado高性能Web原理是利用Linux epoll IO多路模型和协程异步编程
2. tornado Web框架核心模块是 web 和 核心事件循环模块是 IOLoop