Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is Facebook's new Tornado framework?

Facebook just open-sourced a framework called Tornado.

What is it? What does it help a site do?

I believe Facebook uses a LAMP structure. Is it useful for smaller sites which are written under the LAMP stack?

like image 746
chris Avatar asked Sep 10 '09 18:09

chris


People also ask

What is Tornado framework?

Tornado is a Python web framework and asynchronous network library, originally developed at FriendFreed. Tornado uses non-blocking network-io. Due to this, it can handle thousands of active server connections. It is a saviour for applications where long polling and a large number of active connections are maintained.

What framework does Facebook use?

PHP is used for the front-end, Erlang is used for Chat, Java and C++ are also used in several places (and perhaps other languages as well). Thrift is an internally developed cross-language framework that ties all of these different languages together, making it possible for them to talk to each other.

Is Tornado a web application framework?

Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

What is tornado in software?

Tornado is a Python web framework and an asynchronous networking library that relies on non-blocking network I/O to serve web applications. It is the preferred choice for any project that requires a long-lived connection to each user.


1 Answers

It looks like it is a web-server optimized for high-concurrency and high-scalability, but made for smaller payloads.

It was designed to support 10,000 concurrent users well.

The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. We built the web server specifically to handle FriendFeed's real-time features — every active user of FriendFeed maintains an open connection to the FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem.)

It will run on a LMP stack, but it takes the place of Apache.

See the C10K problem.

like image 61
John Gietzen Avatar answered Sep 28 '22 17:09

John Gietzen