Yükleniyor ...

Facebook'un alt yapısını merak edenler

Facebook'un ana altyapısını LAMP kısaltmasıyla çağrılan bir dizi uygulama oluşturur. Linux, Apache, MySQL ve PHP uygulamalarının bir karışımı olan LAMP, farklı yazılımlar ve programlama lisanlarının bir arada çalıştığı çekirdektir.

Linux ve Apache
Bildiğiniz gibi, Linux hayli gelişmiş, özellikle güvenlik açısından tercih edilen bir işletim sistemidir. Facebook'un tüm program yapısı bu işletim sistemi üzerinde çalışmaktadır. Apache ise yine hayli yaygın kullanılan bir sunucu yazılımıdır, internet camiasında çokça tercih edilir.

Her iki yazılımın da ortak özellikleri, açık kaynak kodlu olmalarıdır. İkisi de geliştirilmeye açıktır. Bu da özellikle Facebook gibi devamlı büyüyen ve yeni uygulamaları bünyesine katmaya ihtiyacı olan bir hizmet için gereklidir.
MySQL
Facebook'un dev veri tabanı yine bir başka popüler yazılım olan MySQL veri tabanı uygulaması üzerinde çalışmaktadır.

Ancak Facebook tasarımcıları bu yazılımın temel özelliklerinden faydalanmakla birlikte, kendi ihtiyaçlarına yönelik bir arşivleme yöntemi de geliştirmişlerdir.

Veriler kullanıcı bazında ulaşım sıklığı ve güncelliğe göre sınıflandırılırlar.
PHP
Facebook için kullanılan ana programlama lisanı PHP olarak seçilmiştir. Dinamik yapısı ve yoğun kullanıcı desteği bu tercihte şüphesiz en önemli unsurlar olmuştur.
Bir web sitesinin ihtiyacı olan tüm bilgiler veritabanında toplanırlar, tabii ki bu veritabanı da sabit disklerde depolanır. Küçük çaplı bir sitede sabit disklerin hızı veritabanına olan erişimi çok fazla kısıtlamaz. Ancak site büyüdükçe işler değişir.

Facebook gerek kullanıcı sayısı, gerekse de bunların depolanan verilere erişme biçimi açısından çok karmaşık bir işleyişe sahiptir. Bu yüzden de benzeri tüm büyük sitelerde olduğu üzere, burada da veri tabanının önemli bir kısmı devamlı RAM üzerinde tutulur.

Bu iş için Memcache yazılımı kullanılmaktadır. Memcache sayesinde hem sitenin devamlı çağrılan öğeleri, hem de en sık erişilen kullanıcı verileri devamlı dinamik hafızaya alınarak, siteye olan erişimin hızlandırılması sağlanır. Tabii bu iş için inanılmaz boyutlarda RAM gerektiğini de hatırlamak lazım! Ancak Facebook gibi yüzmilyonlarca kullanıcısı olan bir sistemde, erişim hızını kabul edilebilir seviyelerde tutmanın başka çaresi de yoktur.

Lütfen devam etmek için isim girin:


Sipariş Hattı