The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog - http://bret.appspot.com/entry...
Sep 10, 2009
from
number5,
K.D.,
yezi,
Louis Gray,
Kevin Fox,
Paul Buchheit,
superpultdu,
Phaedrus,
"Serhat Ozan",
Bryan Tsai,
Sebastian,
Thierry R. Andriamirado,
Alfredo 亜瑠布れっど,
David Berrebi,
Eiso Kant,
Charlie Anzman,
goutham,
delneveshtehha,
Dipen,
Mushin,
Tom Stocky,
[email protected],
Jon Saville,
Toby DiPasquale,
Cem Baspinar,
onur özen,
Karen Padham Taylor,
Robin Whitson,
Ritu,
Akın İdil,
Mark H,
Burak Arikan,
Сло,
piikummitus,
Guy Vander Heyden,
onurc,
maxilprof,
imabonehead,
Michael Bravo,
Michal Cierniak,
Hameedullah Khan,
Ken Kennedy,
TheHenry,
eugenio,
Johni Fisher,
Jesper Lind,
Bruce MacVarish,
Eric @ CS Techcast,
je suis frf,
Mr. Gunn,
Mahesh CR,
Altan Khendup,
Carlos Andrés Rocha,
Christian Sonntag,
.LAG liked that,
Paul Kinlan,
Lyndon Washington,
Thomas Frütel,
Thomas Brox Røst,
La Ligne,
Daniel Rowley,
naruter,
Mykola,
Giuliastro,
John Field,
Anton,
GOTTi,
Лёва,
Gordon Saunders,
Özkan Altuner,
Selcuk Ergin,
Simon Cockell,
Kol Tregaskes,
Francesco Passantino,
Cameron Neylon,
Ersan Özer,
Jaap Willem,
Vezquex,
Ruben Sanchez,
Federico Bolsoman,
Ozgur Demir,
Winston Teo,
Ehsanislav,
Roberto,
Kirill Maximov,
Dani Radu,
Yaniv Golan,
Alexander Arsky,
Sean Kelly,
Анатолий Шарифулин,
Jammy Lee,
Rodfather,
Jeroen De Miranda,
Aline Ohannessian,
Ho John Lee,
Greg Grothaus,
Jordi Rivero,
Radu Cornea,
Mahdi,
xero,
Mitch,
Justin Ribeiro,
Mitchell Tsai,
Jerome Coloma,
sean andersen,
JSLeFanu,
Mahendra (SkepticGeek),
Karthick R,
Dave Blankenship,
Deepak Singh,
Franc, a rememberer,
gmarketer,
NaHi,
Hutch Carpenter,
browneyes,
denizoktar,
Nimaa,
Mehmet ALP,
Joe Beda,
cyb,
Roberto Bonini,
Anton Volnuhin,
ZN Moment,
Maqroll,
ydfeed,
Chris Hofmann,
Daniel Chow,
patrick,
Stefano Canepa,
Justin Korn,
zeroinfluencer,
Barbara R. S.,
Andrew C (see frenf.it),
Myroslav Opyr,
Panagiotis Astithas,
Elliott Ng,
Patrick,
Adriano,
Susan Beebe,
Matt Cutts,
Back to just Joe,
Tyler Ham,
Igor Sereda,
Nick Boucart,
Laura Norvig,
aydın,
Adewale Oshineye,
gregory,
Tony Ruscoe,
nadim,
Michael Herf,
Rachel Lea Fox,
travispuk,
Joel Webber,
Phil Glockner,
arjo,
mj,
Space Cowboy,
Xitong Liu,
Jean-Charles VERDIE,
Cyber Eddie,
azalea,
Alexis Nazarbaev,
Chris Lasher,
pastas9,
April Buchheit,
Tim Tyler,
yole,
alieb,
John Coslovich,
Ryan,
Kreg Steppe,
John Cooper,
philippe,
Ivan Campos,
Francesco Mosca,
Micah,
metalerik,
Morton Fox,
Clint,
Nicola Junior Vitto,
alexandere,
Hugh Isaacs II,
Kazutaka Ogaki,
Claudio Cicali,
testbeta,
Marcel Weiß,
Courtney Engle,
Rasmus Lauridsen,
Sam Grover,
David Vasileff,
Meryn Stol,
Daniel J. Pritchett,
Kirill Petrovsky,
Vijendar,
Konstantin Solomatov,
Fatih Taşkıran,
Vadim Spivak,
Ross Miller,
Brian Johns,
Kemal,
Chris Heath,
Shane,
stanjourdan,
Private Sanjeev,
Kelly Norton,
Jason Wehmhoener,
Egon Willighagen,
Dmitry Skavish,
Michael R. Bernstein,
Chris Myles,
Dave Beckett,
Bruce Lewis,
Craig Shipp,
Amanda Lauter,
Vishy,
AJ Batac,
Charles Ying,
Tanath,
directeur,
gburd,
devran,
Ali Altan Saka,
Sunny (The Geek Lord),
John Mueller,
David Recordon,
Josh Haley,
scotu,
Oguz Serdar,
Matt M (inactive),
pala,
Mike Chelen,
Akiva,
anna sauce,
graywolf,
SportyGeek Adj.,
mikepk,
RAPatton,
Aaman (Clone of FF),
EricaJoy,
Robert Scoble,
Patrick Jordan,
Giovy,
Laurent,
Atul Arora,
Dan Hsiao,
Karl Rosaen,
Berker Peksag,
Pandu ● IT Optimizer,
Doug Beeferman,
MG Siegler,
τorƍue,
Fake,
Amit Patel,
Ken Sheppardson,
OCoG of FF, Jimminy,
Daniel Sims,
Tudor Bosman,
minus-one,
FFing Enigma,
Brome,
Jalada,
Ana,
Benjamin Golub,
and
Casey Muller
liked this
We have open sourced our web server. Download it at http://www.tornadoweb.org/. Check out the Facebook announcement at http://developers.facebook.com/news...
- Bret Taylor
See a live chat demo: http://chan.friendfeed.com:8888/
- Casey Muller
Wow! Thanks so much, Bret and co!
- Doug Beeferman
this was very interesting; good job
- RAPatton
neat
- anna sauce
I wonder what the engineering decision was to not use a WSGI interface.
- mikepk
mikepk: it supports WSGI, but it is not WSGI by default because WSGI does not support non-blocking I/O for things like hanging connections. See http://www.tornadoweb.org/documen....
- Bret Taylor
This actually is a very good piece of code! Thanks folks!
- directeur
cool, Bret, thanks :) I was just heading through the docs now.
- mikepk
oh man, this is so awesome, thanks guys!
- Charles Ying
Is "tonado" a typo?
- Bruce Lewis
I'm hacking my own python web framework at the moment, so now the choice on whether I want to switch gears to this or not. I'm liking what I see so far.
- mikepk
Bruce: Yes
- Casey Muller
Wow.. Thanks!! pretty much makes my day.. which is scary in it's own rite.
- Chris Myles
Great news! Cheers to the FF team!
- Egon Willighagen
Nice new title Brett.."Facebook Director of Products".. a good sign of things to come!
- Chris Myles
very very glad to hear this bit: "Tornado is a core piece of infrastructure that powers FriendFeed's real-time functionality, which we plan to actively maintain."
- Chris Heath
Great work
- James Myatt
Franz: enables widespread adoption which leads to greater influence of the technique
- Mike Chelen
So excited this is out. So many personal projects I have been wanting to build with it :)
- Bret Taylor
Fantastic, Bret (and team)!
- Micah
A very good project!...you know if will be possibile to use Tornado with other technogies except Python (such as JEE, Ruby On Rails, etc.)?
- Nicola Junior Vitto
Cristo: we tried to use the official Python coding conventions, though we may have inadvertently strayed. Those conventions are: ClassNames, method_names, variable_names
- Bret Taylor
Brilliant! I hope you can provide very valuable input for the next round of #python WSGI, which desperately needs a next round ;)
- Uche Ogbuji
Re: WSGI needing help, see http://www.b-list.org/weblog...
- Uche Ogbuji
grt
- Xitong Liu
Onur, worked for me - and still works now
- Chris Heath
Very cool, in case someone needs a high-end Web Server for a project, FriendFeed just open-sourced theirs, & apparently, it screams..
- Alex Schleber
Nicola: there is a Ruby example - http://gist.github.com/184760
- Mike Chelen
thx Mike, but this is a kind of eventmachine (that sounds good) for Ruby, not a Tornado client or wrapper...isn't it?
- Nicola Junior Vitto
Excellent! Thank you. Was eagerly waiting for the day to come after looking this just 1 month ago; "changeset: 5afb8a445cad / date: 2009-08-11 16:34:48 / description: Initial open source packages" http://changelog.friendfeed.com/2009...
- NaHi
Good catch, NaHi. :)
- Micah
Thanks guys. Really appriciated.
- Roberto Bonini
That's great. thanks Bret :-)
- Nimaa
Nice job on the non-blocking stuff Bret!
- Mitchell Tsai
"We have open sourced our web server" @bret took over a year but is worth the wait. thx for the follow through ~ http://bret.appspot.com/entry...
- Peter Renshaw
Ohhh, ummm, btw, your underhanded behind the scenes sell out still rankles my human decency, & a lot of others too, as should yours...thumbs down/dislike x 47.5 million dollars, however not being bitter of course, keep ignorance & bliss
- sofarsoShawn
that's the sound of I believe 100000000? or so hands clapping...& giving you the BOOOO-URNS if I'm not mistaken...
- sofarsoShawn
oh you sonsabitchez this fscking rules! why so badass, ff? thank. you. :)
- mike
So, can we say; Python is the future?
- Özkan Altuner
Nice code. Started to look at it today. Thanks for doing this. Now to start testing this on some projects I had been working on.
- Altan Khendup
Diego: we run on Linux.
- Bret Taylor
@bret just out of curiosity - what would necessitate usage of such an engine for a *personal* project? :)
- Michael Bravo
Michael: it is a nice framework to use for any project in my opinion (though I am clearly biased). If you are doing anything real-time like the chat demo, something like Tornado is certainly necessary/useful regardless of the size of the project.
- Bret Taylor
@bret and for little-sized hardware? should have try it on Maemo based :)))
- piikummitus
@silpol I kinda fail to see Maemo devices being used for servers (unless it's some kind of satellite-based or other covert server maybe :) )
- Michael Bravo
@mbravo you never know... there are some unusual (and cool) apps for web servers, granted you abstain (on purpose) from classical models, e.g.server farm somewhere there and herds of clients connecting to it...
- piikummitus
I think this is the best answer for the ultimate question: "Does python needs yet another web framework?" While most of us would say why, when one come across this, a real world proven technology, serving zillions of pages a day, one would say, well, why not. actually, why not even take it an try to integrate out next web app with it? great job! seems like joining FB won't do you any harm ;-)
- Tzury Bar Yochay
We've seen tornado vs twisted, how about tornado vs rails? http://www.youtube.com/watch...
- Tzury Bar Yochay
http://chan.friendfeed.com:8888/ It doesn't work. I'd like to see chat.js :)
- Анатолий Шарифулин
FriendFeed's web server, open sourced? This is great! Welcoome, Tornado!
- Thierry R. Andriamirado
Bret: how do you proxy long-living connections through nginx? Vanilla nginx buffers everything.
- [email protected]
nginx has a configuration option to turn off buffering.
- Tristan Seligmann