1. 程式人生 > >tornado-簡介和原理

tornado-簡介和原理

info linux light linu current cnblogs sta io多路復用 https

tornado-設計初衷

  1. 追求小而精

  2. epoll IO多路復用和協程

  3. 支持WebSocket

  4. 單線程程序(GIL限制,本身某種意義上不啟動多進程就是單線程程序)

  # Python GIL介紹詳情

tronado應用場景

  1. 大量的http請求連接(大量的用戶請求,要求並發性和高性能)

tronado-基礎-Hello World-Web架構

from tornado import web, ioloop


class 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

tornado-簡介和原理