Z čeho se skládá Facebook. Je to stále PHP a Apache?

Na blogu Royal Pigdom provedli technologickou sondu do jednoho z největších webů současnost – na paškál si vzali Facebook. A výsledkem je několik pěkných statistických čísel.

Ačkoliv je Facebook často považovaný za zářný příklad webu, který je postavený na HTTP serveru Apache, databází MySQL a skriptovacím jazyku PHP, dnes je situace poněkud složitější.

Facebook v číslech:

  • Návštěvníci každý měsíc zobrazí 570 miliard stránek Facebooku
  • Na Facebooku je více nahraných fotografií než na všech ostatních fotogaleriích dohromady a to včetně Flickru
  • Každý měsíc návštěvníci nahrají tři miliardy nových fotografií
  • Každý měsíc je sdíleno více než 25 miliard položek počínaje stavovými aktualizacemi a konče komentáři
  • V minulém roce se celý Facebook skládal z 30 000 serverů

PHP kód je z velké části přeložený do C++ pomocí programu HipHop for PHP a posléze do strojového kódu, MySQL databáze se zase používá pouze jako jednoduché úložiště – pokročilejší databázová logika byla přesunuta do dalších částí systémů. K databázím se ostatně nepřistupuje tak často, celý Facebook je totiž cachovaný v systému Memcached, který se skládá z tisíců serverů na kterých jsou uloženy terabajty dat.

O fotky se stará speciální úložiště Haystack, které obhospodařuje 20 miliard nahraných fotografií ve čtyřech různých rozlišeních, ve skutečnosti jich je tedy okolo 80 miliard. O konstrukci stránky, která se skládá z logických bloků (jsou to ty navigační části, proud novinek atd.), takzvaných „pageletů“, se zase stará systém BigPipe.

Co dalšího a jakým způsobem Facebook používá k provozu, se dočtete v tomto anglickém článku.

Diskuze (28) Další článek: Podpořte český fotbalový Google Doodle

Témata článku: , , , , , , , , , , , , , , ,