Was war der Hauptgrund, warum Facebook neben PHP C ++ verwenden musste? Ich frage mich, ob ich eine Website mit vielen Besuchern erstellen muss, um auch C ++ zu verwenden.
web-development
php
Goma
quelle
quelle
Antworten:
Hier ist, warum: HipHop für PHP: Bewegen Sie sich schnell :
quelle
Kurze Antwort - nein, Sie nicht brauchen , C ++.
Ich glaube, Sie beziehen sich auf HipHop . Wenn Sie über die Verbesserungen lesen, sind es ungefähr 50%. Dies ist sehr wichtig, wenn Sie Facebook mit Tausenden von Frontend-Servern sind. Sie zu entlasten bedeutet Kosteneinsparungen in Millionenhöhe im Rechenzentrum. Im Falle eines Unternehmens mit 10 bis 100 Front-End-Servern würden die Entwicklungskosten die möglichen Einsparungen deutlich übersteigen. Wie auch immer, die schwerste Verarbeitung erfolgt im Back-End, bei dem es sich normalerweise um eine RDBMS- oder NoSQL-Lösung handelt, die als hochoptimierter C / C ++ - Code entwickelt wurde.
Natürlich hätte das viel mehr Einsparungen bringen können, wenn man PHP komplett rausgeschmissen hätte. Aber das ist nicht etwas, was man mit einer riesigen Codebasis machen kann, wie im Fall von Facebook.
Nun zum anderen Teil der Frage: Wenn Sie wirklich wissen möchten, wie Sie mit großen Lasten umgehen müssen, lesen Sie den High Scalability-Blog , insbesondere den Teil Real Life Architectures.
Es ist mit PHP möglich, aber definitiv nicht meine Wahl. Wenn Sie eine dynamische Sprache möchten, sind Python, Ruby oder vielleicht Lua die bessere Wahl.
quelle
Das Schöne an FBs Ansatz ist, dass sie sich nicht sofort entscheiden mussten. Do solltest das auch machen. Wählen Sie die Sprache, die Sie am produktivsten macht, aber stellen Sie sicher, dass sie problemlos mit C / C ++ kompatibel ist.
Sobald Sie Millionen von Benutzern haben und die Antwortzeiten um Millisekunden verkürzen müssen, können Sie kritische Pfade mit C / C ++ optimieren.
quelle
Das von Facebook verwendete C ++ - Element ist die HHVM.
Das ist die virtuelle HIPHOP-Maschine. Obwohl in C ++ geschrieben, handelt es sich im Wesentlichen um einen "besseren PHP-Interpreter".
Der PHP-Code wird in Byte-Code kompiliert, der dann von der HHVM zur Ausführungszeit interpretiert und während der Ausführung "Just In Time" -Optimierungen unterzogen wird.
Die Entwickler von face book schreiben immer noch hauptsächlich in PHP, und was Sie in Ihrem Browser sehen, wird mit ziemlicher Sicherheit von einem PHP-Programm ausgegeben - obwohl es von der HHVM-Laufzeit kompiliert und interpretiert wurde.
Die eigentliche HHVM ist Open Source frei verfügbar. Wenn Sie also eine Million süße Kätzchenbilder pro Stunde liefern müssen, können Sie die HHVM herunterladen und Ihren Server mit minimalen Änderungen an Ihrem PHP beschleunigen.
quelle