Facebook Tornado Tech Talk
-
Upload
finiteloop -
Category
Documents
-
view
216 -
download
0
Transcript of Facebook Tornado Tech Talk
-
7/23/2019 Facebook Tornado Tech Talk
1/23
-
7/23/2019 Facebook Tornado Tech Talk
2/23
Tornado Web Server
Bret Taylor
Director of Products
-
7/23/2019 Facebook Tornado Tech Talk
3/23
Background
-
7/23/2019 Facebook Tornado Tech Talk
4/23
Background
Small, fast, and hackable
Focus on the fundamentals: request handling, performance,templating, localization, security, and simplicity
Non-blocking I/O to enable streaming and hanging connections (i.e.,real-time services)
Few dependencies and application assumptions
-
7/23/2019 Facebook Tornado Tech Talk
5/23
Hello, world
-
7/23/2019 Facebook Tornado Tech Talk
6/23
Templates
-
7/23/2019 Facebook Tornado Tech Talk
7/23
Templates
-
7/23/2019 Facebook Tornado Tech Talk
8/23
Templatesbase.html
items.html
-
7/23/2019 Facebook Tornado Tech Talk
9/23
UI modules: reusable components
home.html entry.html
-
7/23/2019 Facebook Tornado Tech Talk
10/23
UI modules: reusable components
blogentry.html
-
7/23/2019 Facebook Tornado Tech Talk
11/23
UI modules: reusable components
-
7/23/2019 Facebook Tornado Tech Talk
12/23
UI modules: reusable components
-
7/23/2019 Facebook Tornado Tech Talk
13/23
UI modules: reusable components
-
7/23/2019 Facebook Tornado Tech Talk
14/23
Secure cookies + authentication
value timestamp signature
-
7/23/2019 Facebook Tornado Tech Talk
15/23
Secure cookies + authentication
-
7/23/2019 Facebook Tornado Tech Talk
16/23
Secure cookies + authentication
-
7/23/2019 Facebook Tornado Tech Talk
17/23
Real-time + non-blocking
wait for messages or timeout (, , or even seconds) ,s of activehanging connectionsin this state
-
7/23/2019 Facebook Tornado Tech Talk
18/23
Real-time + non-blocking
-
7/23/2019 Facebook Tornado Tech Talk
19/23
Third party authentication
-
7/23/2019 Facebook Tornado Tech Talk
20/23
Tornado in production
nginx(load balancer +static file server)
Tornado frontends
MySQL + memcached
-
7/23/2019 Facebook Tornado Tech Talk
21/23
Asynchronous design style
Blocking operations are not an issue if there's no more than oneconcurrent request per server instance
Synchronous style of programming is easier, so dont asynceverything
Fast things (e.g., memcache) dont need to be multiplexed, slow things(e.g., HTTP requests to external sites) do
Gray area: database requests
Service-oriented architecture helps mitigate some of these issues
-
7/23/2019 Facebook Tornado Tech Talk
22/23
http://www.tornadoweb.org/
-
7/23/2019 Facebook Tornado Tech Talk
23/23
(c) Facebook, Inc. or its licensors. "Facebook" is a registered trademark of Facebook, Inc.. All rights reserved. .