Reklama

Jak działa Facebook? The Nuts and Bolts [Technology Explained] 0 wprowadzenie facebookSerwisy społecznościowe to sztuka łączenia się z osobami o wspólnych zainteresowaniach. „Sieć” to społeczność, która pomaga utrzymać jedność z innymi i oferuje wiele korzyści. Sieciowanie za pośrednictwem serwisów społecznościowych zrewolucjonizowało sposób korzystania z Internetu i znajduje się w czołówce tego, co obecnie nazywamy Web 2.0.

Facebook jest sieć społecznościowa. Ludzie nawzajem się „facebookują” od około 6 lat Facebook najczęściej używana sieć społecznościowa z ponad 350 milionami użytkowników na całym świecie. Ale jak działa Facebook?

W tym artykule omówię wewnętrzne funkcjonowanie Facebooka, obejmujące go architektura oraz infrastruktura frontend / backend ””, które utrzymują Facebooka razem.

Jak działa Facebook? ”„ Front End

Facebook korzysta z różnych usług, narzędzi i języków programowania w celu stworzenia podstawowej infrastruktury. W interfejsie ich serwery obsługują stos LAMP (Linux, Apache, MySQL i PHP) z Memcache. Nie jesteś ekspertem w dziedzinie informatyki? Przyjrzyjmy się dokładnie, co to znaczy.

instagram viewer

Linux i Apache

jak działa Facebook

Ta część jest dość oczywista. Linux jest uniksowym jądrem systemu operacyjnego komputera. Jest to oprogramowanie typu open source, bardzo konfigurowalne i dobre dla bezpieczeństwa. Facebook obsługuje system operacyjny Linux na serwerach Apache HTTP. Apacz jest również bezpłatny i jest najpopularniejszym serwerem sieciowym typu open source.

MySQL

jak działa Facebook

W przypadku bazy danych Facebook wykorzystuje MySQL ze względu na jego szybkość i niezawodność. MySQL jest wykorzystywany przede wszystkim jako magazyn klucz-wartość, ponieważ dane są losowo rozdzielane między duży zestaw logicznych instancji. Te logiczne instancje są rozłożone na węzły fizyczne, a równoważenie obciążenia odbywa się na poziomie węzła fizycznego.

Jeśli chodzi o dostosowania, Facebook opracował niestandardowy schemat partycjonowania, w którym globalny identyfikator jest przypisany do wszystkich danych. Mają także niestandardowy schemat archiwizacji, który opiera się na częstotliwości i najnowszych danych dla poszczególnych użytkowników. Większość danych jest dystrybuowana losowo.

PHP

jak działa Facebook

Facebook używa PHP, ponieważ jest to dobry język programowania WWW z szerokim wsparciem i aktywną społecznością programistów oraz nadaje się do szybkiej iteracji. PHP jest dynamicznie pisanym / interpretowanym językiem skryptowym.

Pamięć podręczna

jak działa Facebook

Pamięć podręczna to system buforowania pamięci używany do przyspieszania dynamicznych stron internetowych opartych na bazach danych (takich jak Facebook) poprzez buforowanie danych i obiektów w pamięci RAM w celu skrócenia czasu odczytu. Pamięć podręczna to podstawowa forma buforowania na Facebooku i pomaga zmniejszyć obciążenie bazy danych.

Posiadanie systemu buforowania pozwala Facebookowi tak szybko, jak przy odzyskiwaniu danych. Jeśli nie będzie musiał przejść do bazy danych, po prostu pobierze dane z pamięci podręcznej na podstawie Twojego ID użytkownika.

Wady korzystania z LAMPY

Facebook zdał sobie sprawę, że korzystanie ze stosu LAMP ma swoje wady. Warto zauważyć, że PHP niekoniecznie jest zoptymalizowany pod kątem dużych witryn i dlatego jest trudny do skalowania. Ponadto nie jest to język najszybciej wykonujący się, a struktura rozszerzeń jest trudna w użyciu.

jak działa Facebook

Mike Schroepfer, wiceprezes ds. Inżynierii Facebooka, niedawno udzielił wywiadu w EmTech @ MIT dotyczące tego. „Skalowanie dowolnej strony internetowej jest wyzwaniem” - powiedział Schroepfer - „ale skalowanie sieci społecznościowej wiąże się z wyjątkowymi wyzwaniami”.

Dodał, że w przeciwieństwie do innych stron internetowych, nie można po prostu dodać więcej serwerów, aby rozwiązać problem, ponieważ „ogromnego zestawu danych na Facebooku”. Przez cały czas tworzone są nowe połączenia z powodu aktywności użytkownika.

Facebook rozrósł się tak szybko, że często napotykają problemy związane z zapytaniami do baz danych, buforowaniem i przechowywaniem danych. Ich baza danych jest ogromna i w dużej mierze złożone. Aby to uwzględnić, Facebook rozpoczął wiele projektów typu open source i usług zaplecza.

Jak działa Facebook? ”” Back End

Usługi zaplecza Facebooka są napisane w różnych językach programowania, w tym C ++, Java, Python i Erlang. Ich filozofia tworzenia usług jest następująca:

1. Utwórz usługę Jeśli potrzebne

2. Utwórz platformę / zestaw narzędzi, aby ułatwić tworzenie usług

3. Użyj właściwego języka programowania dla zadania

Lista wszystkich zmian w oprogramowaniu Facebook typu open source znajduje się tutaj. Omówię kilka podstawowych narzędzi opracowanych przez Facebook.

Oszczędzanie (protokół)

Jak działa Facebook? Nakrętki i śruby [Objaśnienie technologii] 7 fb oszczędnościOszczędność to lekka platforma zdalnego wywoływania procedur do skalowalnego rozwoju usług międzyjęzykowych. Thrift obsługuje C ++, PHP, Python, Perl, Java, Ruby, Erlang i inne. Jest szybki, oszczędza czas programowania i zapewnia podział pracy związany z wydajnymi serwerami i aplikacjami.

Scribe (serwer dziennika)

Skryba to serwer do agregowania danych dziennika przesyłanych strumieniowo w czasie rzeczywistym z wielu innych serwerów. Jest to skalowalne środowisko przydatne do rejestrowania szerokiej gamy danych. Jest zbudowany na Thrift.

Cassandra (baza danych)

jak działa Facebook

Cassandra to system zarządzania bazą danych zaprojektowany do obsługi dużych ilości danych rozproszonych na wielu serwerach. Obsługuje funkcję wyszukiwania w skrzynce odbiorczej Facebooka i zapewnia ustrukturyzowany sklep z kluczowymi wartościami o ostatecznej spójności.

HipHop dla PHP

HipHop dla PHP jest transformatorem kodu źródłowego kodu skryptu PHP i został stworzony w celu oszczędzania zasobów serwera. HipHop przekształca kod źródłowy PHP w zoptymalizowany C ++. Po wykonaniu tego używa g ++ do skompilowania go do kodu maszynowego.

Wniosek

W skrócie, to jest Facebook. Ten artykuł mógłby z łatwością być o 37 stron dłuższy, gdybym zagłębił się bardziej szczegółowo, ale aby odpowiedzieć na pytanie „Jak działa Facebook?” Myślę, że to wystarczy. Jeśli spojrzysz w przeszłość na wszystkie funkcje i innowacje, główna idea Facebooka jest naprawdę bardzo podstawowa ””. Facebook zdaje sobie sprawę z potęgi sieci społecznościowych i nieustannie wprowadza innowacje, aby zapewnić najlepszą obsługę w branży.

Czy ten artykuł był dla Ciebie przydatny? Zostaw swoje myśli, komentarze i pomysły poniżej!

Steve, Community Manager w VaynerMedia, jest pasjonatem mediów społecznościowych i budowania marki.