Jak hostować jedną witrynę na wielu serwerach?

10

Planuję wypuścić aplikację na iOS, która pobiera wideo z mojego serwera. Jeśli setki ludzi w dniu premiery spróbują to zrobić, moja witryna i usługi, które zapewnia mój serwer, wyraźnie przestaną działać. Jak hostujesz witrynę na wielu serwerach? Kiedy ktoś próbuje uzyskać dostęp do mojej witryny, w jaki sposób jego prośba jest przekazywana na dostępny serwer? Jak to robią Apple i Google? Dzięki za pomoc.

Jack Humphries
źródło
Sprawdź moją odpowiedź, to bardzo popularny program do skalowania i monitorowania serwerów
Anagio,

Odpowiedzi:

5

Jeśli chodzi o dużych facetów (Google, Apple itp.), Mają oni wyrafinowany i drogi sprzęt, który obsługuje ruch na trasach.

Prostszym rozwiązaniem byłoby skonfigurowanie wielu hostów i posiadanie jednego hosta, który obraca żądania.

Załóżmy, że mamy 5 serwerów do hostowania wideo o nazwie VideoHostN i mamy jeden serwer oddzielny od tych, które śledzą ich użycie pod nazwą RoutingHost.

Pierwszy klient iOS żąda adresu, aby uzyskać wideo z RoutingHost. RoutingHost zwraca adres na VideoHost1.

Drugie żądania klienta iOS. RoutingHost odpowiada przy pomocy VideoHost2.

Tak długo, dopóki nie osiągnie naszego hipotetycznego maksimum, VideoHost5 i resetuje się do VideoHost1.

Potrzebuję tylko prostego kodu po stronie serwera, aby śledzić, którego VideoHost użyć następnie i zwraca mu adres.

Jest to tani i łatwy sposób na rozpowszechnianie użytkowników. Nie gwarantuje to, że niektórzy użytkownicy nie zostaną zablokowani w danym VideoHost. Jest losowa szansa, że ​​kilku użytkowników z powolnymi połączeniami może skończyć z tej samej lokalizacji, ale to dopiero początek.

Chris
źródło
1
Dzięki za pomoc! Korzystam z usługi o nazwie Zone Edit. Skonfigurowałem dziś DNS dla całej witryny i oferują one okrągły robin DNS (myślę, że tak się to nazywa) wraz z „usługami przełączania awaryjnego”. Monitoruje serwery wskazane przez DNS i wysyła żądania do dostępnych serwerów i wyciąga te, które są pełne żądań. To około 12 USD rocznie, więc pozostanę przy nich zamiast rozmyślać o tym wszystkim. Ale wielkie dzięki za pomoc!
Jack Humphries
Tak, za 12 USD rocznie za lepsze rozwiązanie. Czy możesz upuścić adres URL tej usługi do przyszłego użytku?
Chris
2
Pewnie, zoneedit.com
Jack Humphries
7

Możesz zrobić równoważenie obciążenia zgodnie z linkiem @ PeeHaa do artykułu Wikipedii, aby uzyskać informacje tutaj . Wymaga to wiedzy i pieniędzy oraz czasu na skonfigurowanie. Duże firmy, takie jak Google i Apple, wykorzystują opracowane przez siebie technologie i próby ich naśladowania są drogim i przesadnym rozwiązaniem. Jeśli wykonujesz równoważenie obciążenia, będziesz chciał użyć czegoś znacznie mniejszego niż to, co robią.

Możesz też użyć serwerów w chmurze do hostowania swoich filmów lub innych treści. Nazywa się je sieciami dystrybucji treści (CDNS) i mogą teraz zrobić znacznie więcej niż prosty hosting plików. Zaletą tych witryn jest to, że korzystają z technologii podobnych do tego, co Google stworzył, aby stworzyć równoważenie obciążenia i sprzedają ci usługę na podstawie dokładnie ilości danych lub cykli zużywanych na ich serwerach. Oznacza to, że Twoje koszty będą rosły w takim samym tempie, jak korzystasz, tak długo, jak masz dobry model przychodów, zawsze będziesz mieć środki na opłacenie usługi. Niektóre wielkie firmy dla mniejszych użytkowników to:

Są o wiele więcej niż te trzy. Inną zaletą CDN jest to, że zawartość nie znajduje się na jednym serwerze, ale w sieci na całym świecie. Sieci CDN robią to, aby zawartość zawsze pochodziła z serwera najbliższego użytkownikowi. Skonfigurowanie ponad 2 serwerów w jednym miejscu nigdy nie zapewni takiej samej prędkości dostarczania, jaką może zapewnić CDN.

Dla przypomnienia, nie pracuję dla żadnej z tych firm. Korzystałem z usług internetowych Amazon do hostingu wideo na stronie mojej firmy i to była ogromna korzyść.

Ben Hoffman
źródło
1

Używałbym Scalr na ec2 do automatycznego monitorowania twoich serwerów, jest open source i działa bardzo dobrze z usługami AWS. Jeśli więc Twój serwer aplikacji zacznie być obciążany zbyt dużym ruchem, Scalr automatycznie przyniesie więcej serwerów i zrównoważy obciążenie. Będzie również automatycznie tworzyć kopie zapasowe twoich baz danych, jeśli ktoś zawiedzie, wychowując niewolników jako panów. Twoje serwery aplikacji i serwery baz danych są monitorowane i skalowane w razie potrzeby.

Skalowanie stron internetowych jest trudne i kosztowne. Korzystając z mocy Cloud Computing, Scalr automatycznie skaluje infrastrukturę witryny: skaluje bazę danych, skaluje serwery aplikacji, a nawet dodaje i konfiguruje serwery równoważenia obciążenia i buforowania!

http://code.google.com/p/scalr/

Anagio
źródło
1

Oprogramowanie równoważące obciążenie, takie jak ZenLoader , załatwi sprawę . To oprogramowanie typu open source, płacisz tylko za wsparcie.

Słyszałem, że spełni twoje wymagania, jeśli już kupiłeś serwery.

liam
źródło