Jaki jest główny powód, dla którego Facebook musiał używać C ++ oprócz PHP? Zastanawiam się, czy stworzę stronę internetową z dużą ilością vistorów, czy musiałbym również używać C ++?
web-development
php
Goma
źródło
źródło
Odpowiedzi:
Oto dlaczego: HipHop for PHP: Move Fast :
źródło
Krótka odpowiedź - nie, nie potrzebujesz C ++.
Myślę, że masz na myśli HipHop . Jeśli przeczytasz o ulepszeniach, które daje, to około 50%. Jest to bardzo ważne, jeśli jesteś na Facebooku, który ma tysiące serwerów frontendowych. Zmniejszenie obciążenia oznacza miliony oszczędności kosztów centrum danych. W przypadku firmy, która ma 10-100 serwerów frontendowych, koszt rozwoju znacznie przewyższyłby możliwe oszczędności. W każdym razie najbardziej intensywne przetwarzanie odbywa się w back-endie, którym zwykle jest jakieś rozwiązanie RDBMS lub NoSQL, opracowane jako wysoce zoptymalizowany kod C / C ++.
Oczywiście mogłyby osiągnąć znacznie wyższe oszczędności po prostu całkowicie zrzucając PHP. Ale nie jest to coś, co można zrobić z ogromną bazą kodu, jak w przypadku Facebooka.
Teraz, jeśli chodzi o inną część pytania: jeśli naprawdę chcesz wiedzieć, jak radzić sobie z ogromnymi obciążeniami, przeczytaj blog High Scalability , zwłaszcza część Real Life Architectures.
Jest to możliwe w przypadku PHP, ale zdecydowanie nie byłbym moim wyborem. Jeśli chcesz dynamicznego języka, lepiej wybrać Python, Ruby lub Lua.
źródło
Zaletą podejścia FB jest to, że nie musieli od razu decydować. Powinieneś zrobić to samo. Wybierz język, który sprawia, że jesteś najbardziej produktywny, ale upewnij się, że łatwo współpracuje z C / C ++.
Gdy masz miliony użytkowników i potrzebujesz skrócić czas reakcji o milisekundy, możesz zoptymalizować ścieżki krytyczne za pomocą C / C ++.
źródło
Elementem C ++ używanym przez Facebook jest HHVM.
To jest maszyna wirtualna HIPHOP. Mimo że napisany w C ++, jest to zasadniczo „lepszy interpreter PHP”.
Kod php jest kompilowany w kod bajtowy, który jest następnie interpretowany przez HHVM w czasie wykonywania i podlega optymalizacji „Just In Time” podczas działania.
Programiści z facebooka nadal piszą głównie w języku PHP, a to, co widzisz w przeglądarce, jest prawie na pewno generowane przez program PHP - ale na którym został skompilowany i zinterpretowany przez środowisko uruchomieniowe HHVM.
Rzeczywisty HHVM jest darmowym oprogramowaniem typu open source. Więc jeśli musisz podawać milion zdjęć ślicznych kotków na godzinę, możesz pobrać HHVM i przyspieszyć swój serwer przy minimalnej zmianie PHP.
źródło