Quelle est la principale raison pour laquelle Facebook a dû utiliser C ++ à côté de PHP? Je me demande si je crée un site Web avec beaucoup de visiteurs, aurais-je besoin d'utiliser C ++ également?
web-development
php
Goma
la source
la source
Réponses:
Voici pourquoi: HipHop pour PHP: Bougez vite :
la source
Réponse courte - non, vous n'avez pas besoin de C ++.
Je pense que vous faites référence à HipHop . Si vous lisez les améliorations qu'il apporte, c'est environ 50%. C'est très important si vous êtes Facebook qui a des milliers de serveurs frontaux. La réduction de la charge sur eux signifie des millions d'économies sur les coûts du centre de données. Dans le cas d'une entreprise disposant de 10 à 100 serveurs frontaux, le coût de développement dépasserait largement les économies possibles. Quoi qu'il en soit, le traitement le plus lourd est effectué dans le back-end, qui est généralement une solution RDBMS ou NoSQL, développée en tant que code C / C ++ hautement optimisé.
Bien sûr, le aurait pu réaliser des économies beaucoup plus élevées simplement en vidant complètement PHP. Mais ce n'est pas quelque chose que vous pouvez faire avec une énorme base de code, comme dans le cas de Facebook.
Maintenant, pour l'autre partie de la question: si vous voulez vraiment savoir comment gérer des charges énormes, lisez le blog High Scalability , en particulier la partie Real Life Architectures.
C'est possible avec PHP, mais ce ne serait certainement pas mon choix. Si vous voulez un langage dynamique, Python, Ruby ou peut-être Lua serait un bien meilleur choix.
la source
Ce qui est bien avec l'approche de FB, c'est qu'ils n'ont pas eu à décider tout de suite. Tu devrais faire pareil. Choisissez le langage qui vous rend le plus productif, mais assurez-vous qu'il s'interface facilement avec C / C ++.
Une fois que vous avez des millions d'utilisateurs et devez réduire les millisecondes des temps de réponse, vous pouvez optimiser les chemins critiques à l'aide de C / C ++.
la source
L'élément C ++ utilisé par Facebook est le HHVM.
C'est la machine virtuelle HIPHOP. Bien qu'écrit en C ++, il s'agit essentiellement d'un "meilleur interprète PHP".
Le code php est compilé en code octet qui est ensuite interprété par le HHVM au moment de l'exécution et est soumis à des optimisations "Just In Time" lors de son exécution.
Les développeurs de face book écrivent toujours principalement en PHP, et ce que vous voyez sur votre navigateur est presque certainement sorti par un programme PHP - tout en étant compilé et interprété par le runtime HHVM.
Le HHVM proprement dit est open source gratuitement. Donc, si vous avez besoin de servir un million de photos de chaton mignon par heure, vous pouvez télécharger le HHVM et accélérer votre serveur avec un minimum de changements dans votre PHP.
la source