Maison > titres > le corps du texte

Partage de technologie avancée PHP : Pourquoi Taobao et Tencent ont-ils besoin d'un grand nombre d'experts de haut niveau pour développer des sites Web qui ne semblent pas très complexes ?

PHPz
Libérer: 2017-04-12 13:47:13
original
4165 Les gens l'ont consulté

Pourquoi Taobao et Tencent ont-ils besoin d'un grand nombre d'experts de haut niveau pour développer des sites Web qui n'ont pas l'air très compliqués ? Prenez Taobao comme exemple, comme moyen de fournir un peu de science populaire aux nouveaux arrivants.


Partage de technologie avancée PHP : Pourquoi Taobao et Tencent ont-ils besoin dun grand nombre dexperts de haut niveau pour développer des sites Web qui ne semblent pas très complexes ?


Commençons par les plus importants sur la page que vous voyez :


[Rechercher des produits]Cette fonction, Si vous avez des milliers d'éléments, vous pouvez utiliser select * from tableXX Où un titre comme %XX% peut être créé en faisant cela. Mais - lorsque vous avez 10 000 000 000 (10 milliards) de produits, aucune base de données ne peut les stocker. Comment effectuez-vous une recherche ? Une solution de stockage de données distribuée est ici nécessaire. De plus, il est impossible de récupérer les données directement de la base de données pour cette recherche, et un moteur de recherche doit être utilisé (en termes simples, les moteurs de recherche sont plus rapides). D'accord, maintenant que je peux trouver le produit, ai-je terminé et puis-je en acheter un ? Il est tôt, quels produits apparaissent sur la première page ? Un algorithme de tri extrêmement complexe est nécessaire ici. Si nous pouvions faire des recommandations personnalisées basées sur votre comportement d'achat, cela suffirait à un groupe d'ingénieurs en algorithmes formidables pour travailler toute leur vie.


【Détails du produit】Une fois la recherche terminée, si vous voyez ce qui vous intéresse, cliquez pour afficher la page du produit. Cette page contient les attributs du produit, la description détaillée, l'évaluation, informations sur le vendeur, etc. Le nombre d'impressions quotidiennes de cette page est supérieur à 3 milliards. De la même manière, si vous créez un site Web avec 10 personnes qui le visitent chaque jour, vous ne ressentirez aucune pression sur le serveur. avec 3 milliards, il y a beaucoup de problèmes à résoudre. Tout d'abord, ces requêtes ne peuvent pas être directement appliquées à la base de données. Toute base de données monomachine ou distribuée, résistant à la pression de 3 milliards par jour, s'effondrera au point qu'il n'y aura aucun sentiment de bonheur. utilisé dans ce cas est un cache distribué à grande échelle, toutes les informations sur le vendeur, les informations d'évaluation et les descriptions de produits sont obtenues à partir du cache. Des informations encore plus extrêmes telles que « le nombre de vues du produit » doivent être actualisées à chaque fois que la page est ouverte. . Vous avez deviné qu'il pouvait être obtenu depuis la cache. Venez le récupérer ? Taobao l'a fait et tous les détails du produit sont dans le cache.


[Photos du produit]Un produit a 5 images, et il y a plus d'images dans la description du produit. Vous l'avez deviné. , Taobao a Combien de photos devez-vous stocker ? Plus de 10 milliards. S’il y a autant d’images sur votre disque dur, comment en trouver une ? Si votre camarade de classe souhaite copier vos photos, combien de disques durs devez-vous lui préparer ? Quelle quantité de bande passante devez-vous configurer ? Votre carte réseau peut-elle le gérer ? Combien de temps vous faut-il pour le lui copier ? A cette échelle, il n'existe malheureusement aucune solution commerciale sur le marché. Au final, nous devons développer nous-mêmes un système de stockage. Si vous avez entendu parler du GFS de Google, nous en sommes similaires, appelé TFS. D’ailleurs, Tencent dispose également d’un tel système, également appelé TFS.


[Système de publicité]Il y a beaucoup de publicités sur Taobao, quoi, vous ne savez pas ? Cela montre que notre publicité est plutôt bonne, mais beaucoup de gens ne pensent pas qu'il s'agisse de publicité. Comment les vendeurs peuvent-ils soumissionner pour un espace publicitaire sur Taobao ? Comment les annonces sont-elles affichées ? Comment vérifier l'effet publicitaire ? Il s'agit d'un autre système doté d'algorithmes sophistiqués.


[Système BOSS]Comment le personnel de Taobao gère-t-il un système aussi énorme, comme annoncer soudainement un certain Tous les travaux d'un écrivain a disparu de Taobao. De la base de données au moteur de recherche en passant par le système publicitaire, toutes les données pertinentes ont disparu en quelques minutes, ce qui nécessitait un excellent système de support back-end.


[Système d'exploitation et de maintenance]Combien de serveurs pensez-vous sont nécessaires pour prendre en charge un site Web aussi énorme ? Des milliers d'unités ? C'est une fraction. Avec autant de serveurs, quel système d'exploitation est déployé sur ceux-ci et le noyau du système d'exploitation peut-il être optimisé ? La machine virtuelle Java peut-elle être optimisée ? Y a-t-il de la place pour optimiser les performances du module de communication ? Comment déployer le logiciel ? Comment revenir en arrière si quelque chose ne va pas ? Avez-vous installé le système d'exploitation et l'avez-vous optimisé ? Avez-vous été trompé par 360 ou crashé ? Il y a de nombreuses portes ici.


Je n'écrirai pas plus. En plus de ce qui précède, il y a de très nombreuses technologies à mettre en œuvre. Bien sûr, ce n'est pas que ces choses soient si complexes. C'est inaccessible. Toute chose complexe et énorme est construite du petit au grand. Cela nécessite de gros efforts, du plus grand au plus mauvais, et cela nécessite également des recrues pleines de curiosité. tu devrais penser que j'ai des arrière-pensées.



avant-cho :


Je viens de lire un article très intéressant, qui l'explique très clairement - "Tu viens de l'acheter sur Taobao J'ai quelque chose 》


Vous réalisez que le Nouvel An chinois arrive bientôt, alors vous souhaitez acheter un pull pour votre petite amie, alors vous ouvrez http://www.taobao.com. À ce stade, votre navigateur interroge d'abord le serveur DNS et convertit http://www.taobao.com en adresse IP. Mais d'abord, vous constaterez que lorsque vous vous trouvez dans différentes régions ou sur différents réseaux (Telecom, China Unicom, China Mobile), l'adresse IP convertie est susceptible d'être différente. Cela implique d'abord la première étape de l'équilibrage de charge, via la résolution du domaine par DNS. noms, il attribuera votre accès à différentes entrées et essaiera de garantir que l'entrée que vous visitez est la plus rapide parmi toutes les entrées. (Ceci est différent du CDN mentionné plus tard).


Vous avez réussi à accéder à l'adresse IP d'entrée réelle de http://www.taobao.com via cette entrée. A ce moment, vous générez un PV, à savoir Page View, visite de page. Le volume PV quotidien total de chaque site Web est un indicateur important pour décrire la taille d’un site Web. La PV de l'ensemble du réseau Taobao en semaine (périodes hors promotion) se situe entre 1,6 et 2,5 milliards. Parallèlement, en tant qu'utilisateur indépendant, toutes les pages que vous visitez cette fois sur Taobao sont comptées comme un UV (Unique Accès utilisateur visiteur). Le récemment tristement célèbre http://12306.cn a un volume quotidien maximal de PV d'environ 1 milliard, mais son volume UV est bien inférieur à dix fois celui de Taobao. Je pense que tout le monde en connaît la raison.


Parce que le nombre de personnes visitant http://www.taobao.com en même temps est trop énorme, même le serveur qui génère le La page d'accueil de Taobao ne peut pas. Il ne peut pas y en avoir qu'une seule. Il peut y avoir des centaines, voire des milliers de serveurs utilisés uniquement pour générer la page d'accueil de http://www.taobao.com, donc la tâche de générer une page que vous pourrez voir lors de votre visite sera assignée à l'un des serveurs. Ce processus doit être juste, équitable et égal (le nombre d'utilisateurs de chacun de ces centaines ou milliers de serveurs doit être à peu près le même. Ce processus très complexe est complété par plusieurs systèmes, dont le plus critique est LVS (Linux). Virtual Server), l'un des systèmes d'équilibrage de charge les plus populaires au monde, a été développé par le Dr Zhang Wensong qui travaille actuellement chez Taobao.


Après une série d'opérations logiques complexes et de traitement de données, le contenu HTML de la page d'accueil Taobao qui vous est présenté cette fois a été généré avec succès. Quiconque a un peu de connaissances sur le front-end Web doit savoir qu'à l'étape suivante, le navigateur chargera les CSS, JS, les images, les scripts et les fichiers de ressources utilisés dans la page. Cependant, relativement peu d'étudiants savent peut-être qu'il existe une limite au nombre de ressources que votre navigateur peut charger simultanément sous le même nom de domaine. Par exemple, IE6-7 a deux ressources, IE8 en a six et chaque version de Chrome en a une. différent. Habituellement 4-6. Je viens de jeter un œil. Lorsque je visite la page d'accueil de Taobao, je dois charger 126 ressources, donc un si petit nombre de connexions simultanées prendra naturellement beaucoup de temps à charger. Par conséquent, les développeurs frontaux distribuent souvent les fichiers de ressources ci-dessus sous plusieurs noms de domaine, contournant ainsi cette restriction du navigateur et préparant également le travail CDN suivant.


Selon des informations peu fiables, au sommet de Double Eleven, le trafic d'accès de Taobao a culminé à 871 Go/s. Ce chiffre signifie qu'il faut 1,78 million de haut débit domestique de 4 Mo de bande passante pour le rendre abordable, et qu'il est tout à fait capable de couvrir toute la bande passante Internet d'une petite et moyenne ville. Il est donc évident que ces trafics d’accès ne peuvent pas être concentrés ensemble. Et tout le monde sait que l'accès mutuel entre différents réseaux (Télécom, China Unicom, etc.) dans différentes régions sera très lent, mais on constate rarement que l'accès à Taobao est lent. Ceci est CDN (Contenu Delivery Network), le rôle du réseau de distribution de contenu. Taobao a établi des dizaines ou des centaines de nœuds CDN à travers le pays et utilise certains moyens pour garantir que les lieux que vous visitez (il s'agit ici principalement de js, ​​css, images, etc.) sont les nœuds CDN les plus proches de vous, garantissant ainsi ce trafic important est dispersé partout. Accédez au nœud d’accélération.


Un problème survient, c'est-à-dire que si un vendeur publie un nouveau bébé et télécharge plusieurs nouvelles photos de bébé, alors comment Taobao s'assure-t-il que ces photos sont-ils synchronisés dans les nœuds CDN à travers le pays pour que les utilisateurs puissent les utiliser ? Cela implique un grand nombre de technologies liées à la distribution de contenu et à la synchronisation. Taobao a développé le système de fichiers distribué TFS (Taobao File System) pour résoudre de tels problèmes.


D'accord, maintenant vous avez enfin chargé la page d'accueil de Taobao, vous avez donc l'habitude de saisir le mot « pull » dans le champ de recherche de la page d'accueil. appuyez sur Entrée, puis vous générez un autre PV, puis le système de recherche principal de Taobao commence à vous servir. Il effectue d'abord une opération de segmentation de mots sur le contenu que vous saisissez en fonction d'une base de données de segmentation de mots. Comme nous le savons tous, l'anglais est basé sur des mots, et les mots sont séparés par des espaces, tandis que le chinois est basé sur des mots, et tous les mots d'une phrase peuvent être connectés pour décrire un sens. Par exemple, la phrase anglaise I suis étudiant, en chinois cela signifie : "Je suis étudiant". L'ordinateur peut facilement savoir que l'élève est un mot grâce aux espaces, mais il ne peut pas facilement comprendre que les mots « apprendre » et « 生 » combinés représentent un seul mot. Diviser la séquence de caractères chinois en mots significatifs est la segmentation des mots chinois, que certaines personnes appellent également segmentation des mots. Je suis étudiant, et le résultat du participe est : je suis étudiant.


Après la segmentation des mots, vous devez également analyser vos intentions d'achat en fonction des termes de recherche que vous avez saisis. Les utilisateurs ont souvent les types d'intentions suivants lors de la recherche : (1) Type de navigation : il n'y a pas d'objet ni d'intention d'achat clairs. Les utilisateurs sont plus décontractés et émotifs lorsqu'ils achètent en regardant. Requête, par exemple : « Classement des 10 meilleurs parfums en 2010 », « Pulls populaires en 2010 », « Combien de types de zippo existe-t-il ? » (2) Type de requête : Il existe une certaine intention d'achat, qui se reflète dans les exigences relatives aux attributs. Exemple de requête : "Téléphone portable adapté aux personnes âgées", "500 yuans « Montre » ; (3) Type de comparaison : les intentions d'achat ont été restreintes à certains produits. Requête, par exemple : "Nokia E71 E63", "akg k450 px200" (4) Type de confirmation : des décisions de base ont été prises, en se concentrant. sur Examinez un certain objet. Requête : "Nokia N97", "IBM T60". En analysant votre intention d'achat, la recherche principale affichera des résultats complètement différents

Après quelques étapes, la recherche principale. Le système répertorie les résultats de la recherche en fonction des conditions ci-dessus et plus complexes, qui sont toutes complétées par plus d'un millier de serveurs de recherche, puis vous démarrez un par un. Cliquez pour parcourir le produit recherché. Vous commencerez à afficher les détails du produit. Ceux qui achètent souvent en ligne constateront qu'après avoir acheté un produit, même si le commerçant a modifié la page de détails du produit à plusieurs reprises, vous pouvez toujours consulter la page de détails du produit à ce moment-là. empêcher les commerçants de nier ce qu'ils ont promis dans les détails du produit. De toute évidence, ce n'est pas une question simple de sauvegarder et de rappeler rapidement les instantanés des détails du produit de dizaines de milliards de transactions chaque année. Cela implique également la coopération de plusieurs systèmes, dont le plus important est Tair, une solution de stockage distribué KV développée par Taobao.

Ensuite, que vous effectuiez réellement ou non une transaction, vos comportements d'accès seront fidèlement enregistrés par le système pour la logique commerciale et l'analyse des données ultérieures. Parmi ces enregistrements, les enregistrements des journaux d'accès sont l'un des enregistrements les plus importants. Cependant, nous avons appris précédemment que ces accès sont répartis sur de nombreux serveurs différents dans diverses régions et qu'en raison du grand nombre d'utilisateurs, ces enregistrements de journaux sont très volumineux et atteignent. le niveau de tuberculose. Très normal. Afin de transmettre et de synchroniser rapidement et en temps opportun ces données de journal, Taobao a développé TimeTunnel, qui est utilisé pour la transmission de données en temps réel et transmis au système back-end pour le calcul des rapports et d'autres opérations.

Vos données de navigation, données de transaction et de nombreux autres enregistrements de données seront conservés.

Les données historiques stockées sur Taobao peuvent facilement atteindre dix Po ou plus (1PB=1024TB=1048576GB). Une telle quantité de données est stockée dans l'entrepôt de données de Taobao grâce à une compression extrême de 1:120 par le système Taobao. Et il continue d'analyser et d'exploiter via un système de données à très grande échelle appelé Yunlai, qui comprend plus de 2 000 serveurs.


À partir de ces données, Taobao peut savoir qui vous êtes, ce que vous aimez, quel âge a votre enfant et si vous êtes en couple. , quel genre de boissons aiment les gens qui aiment jouer à World of Warcraft, etc., ainsi qu'une énorme quantité d'informations telles que la situation de vente au détail de diverses industries, la montée et la chute de divers produits, etc.


Cela dit, je n'ai décrit que quelques-uns des milliers de systèmes fonctionnant sur Taobao. Même si vous ne visitez la page d'accueil de Taobao qu'une seule fois, l'échelle de la technologie et du système impliqués est totalement inimaginable. Ils sont le fruit de l'imagination de plus de 2 000 meilleurs ingénieurs de Taobao, dont les boursiers du fleuve Yangtze et les lauréats du Prix suprême national des sciences et technologies et bien d'autres. de grands noms. De même, les systèmes commerciaux de Baidu, Tencent, etc. ne sont en aucun cas plus simples que ceux de Taobao. Ce que vous devez savoir, c'est que les produits Internet que vous utilisez quotidiennement peuvent sembler simples et faciles à utiliser, mais derrière eux se cachent une sagesse et un travail inimaginables.

Articles connexes recommandés :

  1. Pratique d'optimisation des performances des sites Web PHP : pratique d'optimisation de la vitesse de chargement de la page d'accueil Taobao

  2. Existe-t-il un didacticiel vidéo php moins cher que celui-ci ? Série de tutoriels du site Web chinois PHP "Dugu Jiujian"

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!