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.
10
Odpowiedzi:
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.
źródło
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ść.
źródło
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.
http://code.google.com/p/scalr/
źródło
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.
źródło