Je prévois de publier une application iOS qui télécharge des vidéos depuis mon serveur. Si des centaines de personnes le jour du lancement tentent de le faire, alors mon site Web et les services fournis par mon serveur vont clairement baisser. Comment hébergez-vous un site Web sur plusieurs serveurs? Lorsque quelqu'un essaie d'accéder à mon site, comment sa demande est-elle transmise à un serveur disponible? Comment Apple et Google procèdent-ils? Merci de votre aide.
10
Réponses:
Eh bien, pour les grands (Google, Apple, etc.), ils ont du matériel sophistiqué et coûteux pour le trafic des routes.
Une solution plus simple serait de configurer vos multiples hôtes et d'avoir un seul hôte qui fait tourner les demandes.
Disons que nous avons 5 serveurs pour héberger la vidéo, nommés VideoHostN et que nous avons un seul serveur distinct de ceux qui garde la trace de leur utilisation sous le nom de RoutingHost.
Le premier client iOS demande l'adresse pour obtenir la vidéo de RoutingHost. RoutingHost renvoie l'adresse sur VideoHost1.
Deuxième demande client iOS. RoutingHost répond avec VideoHost2.
Donc, jusqu'à ce qu'il atteigne notre hypothétique max, VideoHost5, et se réinitialise sur VideoHost1.
Juste besoin d'un code simple côté serveur, gardez une trace de VideoHost à utiliser ensuite et retournez l'adresse.
C'est un moyen bon marché et facile de répartir les utilisateurs. Cela ne garantit pas que certains utilisateurs ne seront pas bloqués sur un VideoHost donné. C'est une chance aléatoire que plusieurs utilisateurs avec des connexions lentes puissent tous finir par tirer du même endroit, mais c'est un début.
la source
Vous pouvez faire l'équilibrage de charge selon le lien de @ PeeHaa vers l'article de Wikipedia pour plus d'informations ici . Cela nécessite un certain savoir-faire, de l'argent et du temps pour l'installation. Les grandes entreprises comme Google et Apple utilisent la technologie qu'elles ont écrite pour elles-mêmes et essayer de les imiter est une solution coûteuse et exagérée. Si vous effectuez un équilibrage de charge, vous voudrez utiliser quelque chose de beaucoup plus petit que ce qu'ils font.
Ou vous pouvez utiliser des serveurs cloud pour héberger vos vidéos ou tout autre contenu. Ils sont appelés réseaux de distribution de contenu (CDNS) et ils peuvent faire bien plus qu'un simple hébergement de fichiers. L'avantage de ces sites est qu'ils utilisent une technologie comme celle que Google a créée pour créer l'équilibrage de charge et ils vous vendent le service en fonction de la quantité exacte de données ou de cycles que vous consommez sur leurs serveurs. Cela signifie que votre coût augmentera au même rythme que vous utilisez donc tant que vous avez un bon modèle de revenus, vous aurez toujours des fonds pour payer le service. Certaines grandes entreprises pour les petits utilisateurs sont:
Ils sont bien plus que ces trois-là. En outre, l'autre avantage de CDN est que votre contenu ne se trouve pas sur un serveur mais sur un réseau à travers le monde. Les CDN le font pour que le contenu provienne toujours du serveur le plus proche de l'utilisateur. La configuration de 2+ serveurs dans un seul emplacement ne vous procurera jamais les mêmes avantages de vitesse de livraison qu'un CDN.
Pour mémoire, je ne travaille pour aucune de ces sociétés. J'ai utilisé les services Web d'Amazon pour l'hébergement vidéo sur le site Web de mon entreprise et cela a été un énorme avantage.
la source
J'utiliserais Scalr sur ec2 pour surveiller vos serveurs automatiquement, c'est open source et fonctionne très bien avec les services AWS. Donc, si votre serveur d'applications commence à être touché par trop de trafic, Scalr fera automatiquement apparaître plus de serveurs et équilibrera la charge pour vous. Il sauvegardera également automatiquement vos bases de données en cas de panne entraînant des esclaves en tant que maîtres. Vos serveurs d'applications et serveurs de bases de données sont donc tous surveillés et mis à l'échelle selon les besoins.
http://code.google.com/p/scalr/
la source
Un logiciel d'équilibrage de charge gratuit tel que ZenLoader ferait l'affaire. C'est un logiciel open source, vous ne payez que si vous avez besoin d'assistance.
J'ai entendu dire qu'il couvrira vos besoins si vous avez déjà acheté les serveurs.
la source