Facebook'tan Tornado Duyurusu

Tornado ile Facebook artık "gerçek zamanlı"...Arkadaşlarımızla bir şeyler paylaşmayı kolaylaştıran sosyal ağın önemli parçalarından biri de gerçek zamanlı güncellemelerdir. Facebook ve FriendFeed gibi web uygulamalarında kullanıcıların ilgisini çeken "gerçek zamanlı" haber beslemelerinin ardında, Python tabanlı muazzam bir teknoloji var.

Geçtiğimiz haftalarda Facebook tarafından satın alınan FriendFeed'de tüm sitenin gerçek zamanlı güncellemeleri vermesini sağlayan bu teknolojinin adı Tornado. FriendFeed ekibi, geliştirdikleri Tornado ismindeki bu altyapıyı açık kaynak dünyasına kazandırdılar.

Tornado, Python'da yazılmış ve kolay, engellemeyi önleyen bir Web sunucusu. Aynı anda binlerce bağlantının sağlanması ve bu sayede gerçek zamanlı Web hizmetlerinin ideal hale getirilmesi için tasarlanmıştır. Tornado, FriendFeed'in gerçek-zaman fonksiyonunun çekirdek birimlerinden biri artık.

Tornado, Python'da yazılmış var olan Web geliştirme çatılarıyla (Django, Google'ın webapp'i, web.py) aynı olsa da hız ve aynı anda gerçekleşen bağlantı trafiğiyle başa çıkma özelliği, sunucunun asıl odaklandığı noktaları oluşturuyor.

Tornado'nun Öne Çıkan Özellikleri

Tornado biraz web.py ve Google'ın webapp'ine benzese de, sağladığı daha fazla araç ve iyileştirmeyle  web sağlayıcı ve araçlarının kullanılmasını kolaylaştırıyor. Tornado'nun öne çıkan bazı özellikleri şunlar:

  • Temel site kurulum araçlarının tamamı: Tornado, web geliştirmenin en zor ve tedirgin eden kısımlarına dâhili destek sağlıyor. Bunların arasında taslaklar, imzalanmış çerezler, kullanıcı yetkilendirme, yerelleştirme, agresif statik dosya önbellekleme, siteler arası sahtecilik koruması ve Facebook Connect gibi üçüncü şahıs şirketlerin yetkilendirilmesi bulunuyor. Sadece istediğiniz özellikleri kullanmanız yetiyor ve Tornado'yu diğer taslaklarla birleştirmek de son derece basit.
  • Gerçek-zamanlı hizmetler: Tornado eşzamanlı birçok bağlantı yapılmasını sağlıyor. Tornado kullanarak long polling veya HTTP akışı aracılığıyla gerçek-zamanlı hizmetler yazmak çok kolay. FriendFeed'in tüm aktif kullanıcıları FriendFeed sunucularına bağlantı kurmaya devam edebilir.
  • Yüksek Performans: Diğer Python tabanlı web geliştirme çatılarıyla karşılaştırıldığında, Tornado çok hızlı. Python ile yazılmış diğer çerçeveler ve Tornado üzerinde bazı yükleme testleri yapıldı. Tornado'nun verileri, diğer geliştirme çatılarından dört kat daha yüksek çıktı.

Tornado'nun performans karşılaştırması

Artık sadece Linux, Apache, MySQL ve PHP grubuyla Facebook veya FriendFeed gibi sosyal ağları hayata geçirmek mümkün değil. Tornado, Cassandra, Hive (Hadoop üzerine kurulmuştur), memcache, Scribe, Thrift ve bunlar gibi yeni yapılara sahip başka yazılımlar da gerekiyor. Facebook OpenSource programı çerçevesinde bu yararlı yapı parçası da açık kaynak olarak paylaşılmış durumda.

Tornado hakkında daha teknik bilgiler için, Facebook Ürün Yöneticisi Bret TAYLOR'ın blog girdisine bakabilirsiniz. Eğer bu konuyla ilgileniyorsanız, Facebook ekibinin aralarına katılacak yeni yazılım mühendislerini beklediğini de, haberimize ekleyelim :).

Tornado'nun kaynak kodlarını, nasıl belgelerini ve geliştirici posta listesini GitHub'ta bulabilirsiniz.

 

Kaynak: Developers Facebook

yazdır
Son güncelleme: 11 Ekim 2009