Ich plane die Veröffentlichung einer iOS-App, die Videos von meinem Server herunterlädt. Wenn am Starttag Hunderte von Personen dies versuchen, fallen meine Website und die von meinem Server bereitgestellten Dienste deutlich aus. Wie hosten Sie eine Website auf mehreren Servern? Wenn jemand versucht, auf meine Website zuzugreifen, wie wird seine Anfrage an einen verfügbaren Server weitergeleitet? Wie machen Apple und Google das? Danke für Ihre Hilfe.
10
Antworten:
Und für die großen Leute (Google, Apple usw.) haben sie eine ausgefeilte und teure Hardware für den Routenverkehr.
Eine einfachere Lösung wäre, mehrere Hosts einzurichten und einen einzigen Host zu haben, der die Anforderungen dreht.
Angenommen, wir haben 5 Server zum Hosten des Videos mit dem Namen VideoHostN und einen einzelnen Server, der von denen getrennt ist, die den verwendeten Namen RoutingHost verfolgen.
Der erste iOS-Client fordert die Adresse an, um das Video von RoutingHost abzurufen. RoutingHost gibt die Adresse auf VideoHost1 zurück.
Zweite iOS-Client-Anfragen. RoutingHost antwortet mit VideoHost2.
Also weiter, bis es unser hypothetisches Maximum, VideoHost5, erreicht und auf VideoHost1 zurückgesetzt wird.
Benötigen Sie nur einen einfachen serverseitigen Code. Verfolgen Sie, welcher VideoHost als Nächstes verwendet werden soll, und geben Sie die Adresse an diesen zurück.
Dies ist eine kostengünstige und einfache Möglichkeit, Benutzer zu verteilen. Dies garantiert nicht, dass einige Benutzer auf einem bestimmten VideoHost nicht verstopft sind. Es ist eine zufällige Chance, dass mehrere Benutzer mit langsamen Verbindungen am selben Ort abrufen, aber es ist ein Anfang.
quelle
Sie können den Lastenausgleich gemäß dem Link von @ PeeHaa zum Wikipedia-Artikel durchführen, um Informationen hier zu erhalten . Dies erfordert etwas Know-how sowie Geld und Zeit für die Einrichtung. Große Unternehmen wie Google und Apple verwenden Technologien, die sie für sich selbst geschrieben haben, und der Versuch, sie nachzuahmen, ist eine teure und übertriebene Lösung. Wenn Sie einen Lastenausgleich durchführen, möchten Sie etwas verwenden, das viel kleiner ist als das, was sie tun.
Sie können auch Cloud-Server verwenden, um Ihre Videos oder andere Inhalte zu hosten. Sie werden als Content Distribution Networks (CDNS) bezeichnet und können jetzt viel mehr als nur einfaches Datei-Hosting. Der Vorteil dieser Websites besteht darin, dass sie Technologien verwenden, wie sie Google für den Lastenausgleich erstellt hat, und Ihnen den Service verkaufen, der auf genau der Datenmenge oder den Zyklen basiert, die Sie auf ihren Servern verbrauchen. Dies bedeutet, dass Ihre Kosten mit der Geschwindigkeit steigen, mit der Sie sie nutzen. Solange Sie ein gutes Einnahmemodell haben, haben Sie immer Geld, um den Service zu bezahlen. Einige großartige Unternehmen für kleinere Benutzer sind:
Sie sind viel mehr als diese drei. Der andere Vorteil von CDN besteht darin, dass sich Ihre Inhalte nicht auf einem Server, sondern in einem Netzwerk auf der ganzen Welt befinden. Die CDNs tun dies, damit der Inhalt immer von dem Server kommt, der dem Benutzer am nächsten liegt. Wenn Sie mehr als 2 Server an einem Standort einrichten, erhalten Sie niemals die gleichen Vorteile für die Liefergeschwindigkeit wie ein CDN.
Ich arbeite für keine dieser Firmen. Ich habe die Webdienste von Amazon für das Video-Hosting auf der Website meines Unternehmens verwendet und es war ein großer Vorteil.
quelle
Ich würde Scalr auf ec2 verwenden, um Ihre Server automatisch zu überwachen. Es ist Open Source und funktioniert sehr gut mit AWS-Diensten. Wenn Ihr App-Server also von zu viel Verkehr betroffen ist, ruft Scalr automatisch mehr Server auf und verteilt die Last für Sie. Es werden auch automatisch Ihre Datenbanken gesichert, wenn Slaves als Master aufgerufen werden. So werden Ihre Anwendungsserver und Datenbankserver nach Bedarf überwacht und skaliert.
http://code.google.com/p/scalr/
quelle
Eine kostenlose Load Balancer-Software wie ZenLoader würde den Trick machen. Es ist eine Open-Source-Software, die Sie nur bezahlen, wenn Sie Unterstützung benötigen.
Ich höre, es wird Ihre Anforderungen abdecken, wenn Sie die Server bereits gekauft haben.
quelle