실시간 업데이트는 요즘 웹 어플리케이션의 대세가 된지 오래다. 예전 채팅의 진보한 형태라 할 수 있는 실시간 웹 어플리케이션은 채팅과 달리 공개 대화 중심이란 점과 기술적으로 단방향 push 라는 한계가 있지만 이를 극복하기 위한 여러가지 새로운 시도가 진행되고 있다.
그 중 오늘 Facebook 개발자 블로그에 올라온 글을 보면 최근 Facebook이 실시간(real-time) 업데이트를 위한 여러가지 시도를 하고 있고(real-time news feed 와 같은) 이를 위해 얼마전 인수한 FriendFeed의 기술을 채택할 예정이라고 한다.
Jim Norris, Paul Buchheit등 구글 출신의 python 구루로 이뤄진 FriendFeed가 개발한 이 기술은 Tornado라고 불리우는 python 웹 서버다. 매우 단순한 구조로 이뤄졌으며 non-blocking HTTP 서버, low-level I/O 모듈을 통해 real-time에 이상적으로 설계했다고 한다.
그래서 이런 High performance를 낸다는 말이다. 실시간이 대세가 되면서 성능이 주요한 쟁점으로 떠올랐다. Java로 대표되는 “구조”적인 문제는 더 이상 논의 대상이 되지 않는다.
전통적인 LAMP 방식으로는 더 이상 Facebook이나 FriendFeed와 같은 실시간 어플리케이션을 만들긴 힘들다고 지적한다. 앞으로는 지금 소개한 Tornado와 함께 Cassandra, Hive, memcache, Scribe, Thrift와 같은 새로운 컴포넌트들이 웹의 혁신을 이끌 것이다.
Facebook은 여러 오픈 소스 프로젝트를 진행하는 것으로도 유명한데, 여기에 FriendFeed의 원군을 얻었으니 날개를 단 격이다. 앞으로 더욱 적극적인 오픈소스 프로젝트 전개가 예상된다.
FriendFeed의 CEO인 Bret Taylor가 Tornado에 대해 다시 한번 자세히 언급했다.
1 comment
Twisted가 있는데 Tornado를 만든 것은 FriendFeed의 멍청한 삽질이라고밖에는 생각되지 않습니다.
Twisted 개발자의 평입니다.
http://glyph.twistedmatrix.com/2009/09/what-i-wish-tornado-were.html
Twisted를 사용하는 FluidDB의 CEO의 평입니다.
http://blogs.fluidinfo.com/terry/2009/09/12/facebook-release-tornado-and-its-not-based-on-twisted/
Twisted 사용자 중 한명이 하루만에 Tornado의 low-level IO를 모두 걷어내고 (1300줄 삭제) Twisted로 대체했습니다. 저는 FriendFeed가 이 패치를 받아들이기를 바랍니다.
http://dustin.github.com/2009/09/12/tornado.html
출처: http://www.likejazz.com/archives/778