맛동산

Tornado Docs를 읽어보자 : User's guide - Introduction 본문

파이썬/Tornado Framework

Tornado Docs를 읽어보자 : User's guide - Introduction

오지고지리고알파고포켓몬고 2017. 12. 15. 00:04

본 글은 tornado 학습 목적으로 의역으로 작성한 글이며, 오역이 있을 수 있음을 알려드리고 사실과 다른 내용이 발견될 때 마다 수정 작업을 수행할 예정입니다.

기술적인 부분은 기본적인 사항 파악 후에 작성하도록 하겠습니다.


원문 - http://www.tornadoweb.org/en/stable/guide/intro.html


Introduction

Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long pollingWebSockets, and other applications that require a long-lived connection to each user.

Tornado can be roughly divided into four major components:

  • A web framework (including RequestHandler which is subclassed to create web applications, and various supporting classes).
  • Client- and server-side implementions of HTTP (HTTPServer and AsyncHTTPClient).
  • An asynchronous networking library including the classes IOLoop and IOStream, which serve as the building blocks for the HTTP components and can also be used to implement other protocols.
  • A coroutine library (tornado.gen) which allows asynchronous code to be written in a more straightforward way than chaining callbacks.

The Tornado web framework and HTTP server together offer a full-stack alternative to WSGI. While it is possible to use the Tornado web framework in a WSGI container (WSGIAdapter), or use the Tornado HTTP server as a container for other WSGI frameworks (WSGIContainer), each of these combinations has limitations and to take full advantage of Tornado you will need to use the Tornado’s web framework and HTTP server together.






소개


Tornado는 FriendFeed에 개발된 파이썬 웹 프레임워크, 비동기 네트워킹 라이브러리입니다. non-blocking network I/O를 사용함으로써 수만개의 연결을 확장할 수 있고, long polling, WebSockets, long-live connection이 필요한 어플리케이션에 이상적입니다.


토네이도는 크게 네가지 구성요소로 나눌 수 있습니다.


  • 웹 프레임워크(웹 어플리케이션 생성을 위해 서브클래스화 된 RequestHandler를 포함하고 다양한 클래스들을 포함합니다)
  • HTTP의 클라이언트, 서버 사이드 구현(HTTPServer and AsyncHTTPClient)
  • IOLoop와 IOStream을 포함한 비동기 네트워킹 라이브러리고, HTTP 구성 요소의 기본 요소로 사용되며 다른 프로토콜을 구현하는 데에도 사용할 수 있습니다.(구글 번역)
  • 코루틴 라이브러리(tornado.gen)는 비동기 코드가 연결 콜백보다 간단한 방법으로 작성되도록합니다.(구글 번역)

토네이도 웹 프레임워크와 HTTP 서버는 WSGI의 full-stack에 대한 대안을 제공합니다.  WSGI 컨테이너에서 토네이도 웹 프레임워크를 사용할 수 있습니다.(WSGIAdapter) 또는 토네이도 HTTP 서버를 다른 WSGI 프레임워크 컨테이너로 사용할 수 있습니다.(WSGIContainer) 각 조합은 한계가 있고, 토네이도를 최대로 사용하려면 토네이도 프레임워크와 HTTP 서버를 함께 사용해야 합니다.



요약


- 토네이도 프레임워크는 long polling, WebSockets, long-live connection이 필요한 어플리케이션에 이상적인 non-blocking network I/O 구조

- 웹 프레임워크, HTTP 클래스, IOLoop / IOStream의 비동기 네트워킹, 코루틴 라이브러리를 지원

Comments