Skip to content

Social Network Badges

Facebook’un arkasında ne var?

Facebook, -şöhreti, getirdikleri ve hakkındaki iddialar bir yana- sonuçta bir yazılım… Bu kadar çok kullanılan bir uygulamanın arkaplanında ve teknik altyapısında neler var?

Önce birkaç istatistik… (Facebook sayfasından)

  • Siteye ortalama her gün 250 bin yeni kayıt oluyor.
  • Ayda ortalama 65 milyar sayfa gösterimi var.
  • Kullanıcıların en az yarısı her gün giriyor.
  • Dünya’nın en çok kullanılan fotoÄŸraf paylaşım uygulaması… En yakın üç rakibinin toplamından daha fazla resim gösterimi yapılıyor.
  • Facebook platformunu kullanan 7 binden fazla uygulama yazılmış. Her gün yüzden fazla yeni uygulama ekleniyor.

Teknik altyapıya gelince…

  • Neredeyse tamamen açık kaynaklı uygulamalar kullanılmış.
  • Yazım dili PHP. Arka planda çalışan bazı uygulamalar Java, Python ve Perl kullanıyor. Ayrıca C++ uyumlu uygulamalar için gcc ve Boost kütüphaneleri kullanılmış. Yine, c++ uygulamalarının daha saÄŸlıklı çalışması için kendileri phpembed adlı bir kütüphane yazmışlar.
  • Sunucularda Linux yüklü. Web server olarak Apache kullanılıyor. Dünyanın her yerinde hızlı çalışması için içeriÄŸin çoÄŸunu Akamai sunucularında tutuyorlar.
  • Sistemde 2 milyardan fazla fotoÄŸraf dosyası yüklü. Bunlar diskte yaklaşık 200 terabyte yer tutuyor. Kullanıcılar her hafta 80 milyon civarında resim yüklüyor. Her fotoÄŸraf için 4 ayrı boy tutulduÄŸundan, bu 300 milyondan fazla resim dosyası demek. OluÅŸan yoÄŸunluÄŸu karşılayabilmek için, yüklenen fotoÄŸrafları iÅŸleyen bir çok sunucu var. Ayrıca bir grup sunucu, iÅŸlenmiÅŸ fotoÄŸrafları Akamai’ye gönderiyor. Bazı fotoÄŸrafları tutmak üzere kendi dosya sunucuları da var.
  • Veritabanı olarak MySQL kullanılıyor. Birbirine baÄŸlı binlerce MySQL veritabanları var.
  • Veritabanından bilgi çekmek çok yavaÅŸ olduÄŸu için cache (önbellek) mekanizması kullanılıyor. memcached isimli açık kaynaklı uygulamayı kendi yazdıkları kodlarla geliÅŸtirmiÅŸler. (detaylı bilgi)
    • Sitenin neredeyse belkemiÄŸi bu uygulama. Kullanıcı profillerini, arkadaÅŸ bilgilerini, uygulamaları hep önbellekte (RAM’de) tutuyor ve çok hızlı gelmesini saÄŸlıyorlar.
    • 400′den fazla memcached sunucusu var.
    • 5 Terabyte’dan fazla RAM önbellekleme için kullanılıyor.
    • memcached sorgularının daha hızlı çalışması için TCP yerine UDP portunu kullanmışlar.
    • Ayrıca APC kütüphanesini kullanarak sayfa görüntülemeyi 30 kat hızlandırmışlar.
  • Kendi yazdıkları site içi arama motorunu kullanıyorlar. Ayda 1 milyara yakın arama yapılıyor. Önbellek için 2 terabyte civarında RAM ayrılmış. Ortalama sonuç süresi 100 milisaniye civarında imiÅŸ.
  • Yazdıkları kodu yerinde debug etmek için phpsh adlı bir komut satırı kütüphanesi yazmışlar. Ana bilgisayara yükleyip baÄŸlandığınızda komut satırından php kodları yazıp çıktısını görüyorsunuz.
  • Versiyon yönetimi için Subversion ve git kullanıyorlar.

Yani, Facebook olmak istiyorsanız altyapınızı da ona göre kuracaksınız.

Yorumlar

Yazı hakkında ne dediler?

  1. adamlar cidden güzel yapmışlar. sonunda da başarı geliyor tabi:)

  2. İdris Cin 1 Aralık 2007

    Merhabalar Bilal Bey,

    Bu detaylı paylaşım için gerçekten teÅŸekkürler, çünkü “önce altyapı sonra oluÅŸum” terminolojisi apaçık ortaya çıkıyor bu anlatımınızla Facebook’ta.

    Ayrıca yazılım dünyasında üst seviye projelerin çoğunda pek tercih edilmeyen php ve mysql in bu projede böyle bir altyapı ile kullanılması platformlar için çok iyi bir referans bence.

    Paylaşımınıza sağlık,

    Sevgi ve Saygılarımla.

  3. isa 6 Ocak 2008

    ÅŸaşırdım kaldım….

  4. komik 5 Mart 2008

    güzel araştırma olmuş kendilerimi vermiş bu bilgiyi ?

  5. Minare 21 Nisan 2008

    Yazı güzel, ama resim guvenlik dogrulaması daha guzel. Rapidin yeni resim guvenlik dogrulama uygulaması berbat.Hangi rakamda kedi var, hangisinde yok seçene kadar canım çıktıııı…

  6. 4@lA® 23 Mart 2009

    paylaşımın için saol..Peki Facebook’un arkasında kimin olduÄŸunu biliyor musunuz? 400 sunucudan bahsediliyor az deÄŸil.. Ayrıca yazılan yazılımlar kaliteli, ayrıca geliÅŸtirme de yapmÅŸlar.. tahmini olan var mı? ;)

Link Verenler

Bu yazıdan bahseden Internet siteleri...

  1. Takipci.Net » Facebook ve Altyapısı

Yorumunuzu Ekleyin

Alttaki formu doldurup Gönder düğmesine basın.