reklama

Jak funguje Facebook? The Nuts and Bolts [Vysvětlivá technologie] 0 intro facebookSociální síť je umění spojení s těmi, kteří sdílejí společné zájmy. Vaše „síť“ je komunita, která vám pomáhá udržovat spojení s ostatními a nabízí mnoho výhod. Sítě prostřednictvím webů sociálních médií způsobily revoluci v tom, jak používáme internet, a jsou v čele toho, čemu nyní říkáme Web 2.0.

Facebook je sociální síť. Lidé se „tváří v tvář“ navzájem vytvářejí asi 6 let Facebook nejpoužívanější sociální síť s více než 350 miliony uživatelů po celém světě. Jak ale funguje Facebook?

V tomto článku se budu zabývat vnitřními činnostmi Facebooku, které se budou zabývat architektura a infrastruktura frontend / backend ““ matice a šrouby, které drží Facebook pohromadě.

Jak funguje Facebook? “„ Frontend

Facebook používá celou řadu služeb, nástrojů a programovacích jazyků k vytvoření své základní infrastruktury. Na jejich frontě běží jejich servery LAMP (Linux, Apache, MySQL a PHP) stack s Memcache. Nejste odborník na informatiku? Pojďme se podívat přesně na to, co to znamená.

Linux a Apache

instagram viewer
jak funguje facebook

Tato část je docela samozřejmá. Linux je unixové jádro počítačového operačního systému. Je to open source, velmi přizpůsobitelné a dobré pro bezpečnost. Facebook provozuje operační systém Linux na serverech Apache HTTP. Apache je také zdarma a je nejpopulárnějším otevřeným zdrojovým webovým serverem, který se používá.

MySQL

jak funguje facebook

Pro databázi Facebook využívá MySQL kvůli jeho rychlosti a spolehlivosti. MySQL je používán primárně jako úložiště klíč-hodnota, protože data jsou náhodně distribuována mezi velkou sadu logických instancí. Tyto logické instance jsou rozloženy napříč fyzickými uzly a vyvažování zátěže se provádí na úrovni fyzických uzlů.

Pokud jde o přizpůsobení, Facebook vyvinul vlastní schéma dělení, ve kterém je ke všem datům přiřazen globální ID. Mají také vlastní schéma archivace, které je založeno na frekvenci a aktuálnosti dat na základě jednotlivých uživatelů. Většina dat je distribuována náhodně.

PHP

jak funguje facebook

Facebook používá PHP, protože je to dobrý webový programovací jazyk s rozsáhlou podporou a aktivní komunitou vývojářů a je vhodný pro rychlou iteraci. PHP je dynamicky psaný / interpretovaný skriptovací jazyk.

Memcache

jak facebook funguje

Memcache je systém pro ukládání do mezipaměti paměti, který se používá k urychlení dynamických webů založených na databázi (jako je Facebook) ukládáním dat a objektů do paměti RAM, čímž se zkracuje doba čtení. Memcache je primární forma ukládání do mezipaměti Facebooku a pomáhá zmírnit zatížení databáze.

Díky systému ukládání do mezipaměti umožňuje Facebook, aby byl stejně rychlý jako stahování vašich dat. Pokud nemusí jít do databáze, načte vaše data pouze z mezipaměti na základě vašeho ID uživatele.

Nevýhody použití LAMP

Facebook si uvědomil, že používání zásobníku LAMP má nevýhody. Zejména PHP není nutně optimalizováno pro velké webové stránky, a proto je obtížné jej škálovat. Není to také nejrychlejší prováděcí jazyk a rámec rozšíření je obtížné používat.

jak facebook funguje

Mike Schroepfer, viceprezident pro strojírenství na Facebooku, nedávno provedl rozhovor EmTech @ MIT ohledně toho. „Měřítko jakéhokoli webu je výzva,“ řekl Schroepfer, „ale škálování sociální sítě má jedinečné výzvy.“

Dále řekl, že na rozdíl od jiných webů nemůžete jen přidat další servery k vyřešení problému, protože „obrovského propojeného datového souboru“ na Facebooku. Nová připojení jsou vytvářena po celou dobu kvůli činnosti uživatele.

Facebook rostl tak rychle, že se často potýkají s problémy týkajícími se databázových dotazů, ukládání do mezipaměti a ukládání dat. Jejich databáze je obrovská a do značné míry složité. Za tímto účelem Facebook spustil mnoho open source projektů a backend služeb.

Jak funguje Facebook? “„ Konec

Backendové služby Facebooku jsou psány v různých programovacích jazycích včetně C ++, Java, Python a Erlang. Jejich filosofie pro vytváření služeb je následující:

1. Vytvořte službu V případě potřeby

2. Vytvořte rámec / sadu nástrojů pro snazší vytváření služeb

3. Pro úlohu použijte správný programovací jazyk

Seznam všech vývojových trendů na Facebooku najdete zde. Budu diskutovat o několika základních nástrojích, které Facebook vyvinul.

Thrift (protokol)

Jak funguje Facebook? Šrouby a matice [vysvětlil technologie] 7 fb thriftŠetrnost je odlehčený rámec pro vzdálené volání procedur pro škálovatelný vývoj jazykových služeb. Thrift podporuje C ++, PHP, Python, Perl, Java, Ruby, Erlang a další. Je to rychlé, šetří čas na vývoj a poskytuje dělbu práce na vysoce výkonných serverech a aplikacích.

Scribe (log server)

Písař je server pro agregaci dat protokolu přenášených v reálném čase z mnoha jiných serverů. Je to škálovatelný rámec užitečný pro protokolování široké škály dat. Je postaven na vrcholu Thrift.

Cassandra (databáze)

jak facebook funguje

Cassandra je systém správy databází navržený pro zpracování velkého množství dat rozložených na mnoha serverech. Napomáhá funkci Inbox Search na Facebooku a poskytuje strukturované úložiště klíč-hodnota s případnou konzistencí.

HipHop pro PHP

HipHop pro PHP je transformátor zdrojového kódu pro skriptový kód PHP a byl vytvořen, aby šetřil prostředky serveru. HipHop transformuje zdrojový kód PHP do optimalizovaného C ++. Poté to pomocí g ++ zkompiluje do strojového kódu.

Závěr

Stručně řečeno, to je Facebook. Tento článek by mohl být snadno o 37 stran delší, pokud bych měl jít do podrobností, ale odpovědět na otázku „Jak funguje Facebook?“ Myslím, že to bude stačit. Pokud se podíváte kolem všech funkcí a inovací, hlavní myšlenka Facebooku je opravdu velmi základní ““ udržování lidí v kontaktu. Facebook si uvědomuje sílu sociálních sítí a neustále inovuje, aby jejich služby byly co nejlepší v podnikání.

Považujete tento článek za užitečný? Nechte své myšlenky, komentáře a nápady níže!

Steve, manažer komunity ve společnosti VaynerMedia, je nadšený sociálními médii a budováním značky.