Gniazda do równoważenia obciążenia

Mam pytanie dotyczące ładowania gniazd sieciowych.

Mam serwer, który obsługuje gniazda sieciowe. Przeglądarki łączą się z moją witryną i każde z nich otwiera gniazdo sieciowewww.mydomain.com. W ten sposób moja aplikacja społecznościowa może przesyłać wiadomości do klientów.

Tradycyjnie, używając tylko żądań HTTP, skalowałbym się, dodając drugi serwer i system równoważenia obciążenia przed dwoma serwerami WWW.

W przypadku gniazd sieciowych połączenie musi być bezpośrednio z serwerem WWW, a nie z równoważnikami obciążenia, ponieważ jeśli maszyna ma fizyczne ograniczenie, powiedzmy, 64k otwartych portów, a klienci łączą się z równoważeniem obciążenia, to nie mogłem obsługiwać ponad 64k jednoczesnych użytkowników.

Więc jak mam -

nakłonić klienta do bezpośredniego połączenia się z serwerem WWW (a nie z równoważeniem obciążenia), gdy strona się ładuje? Czy po prostu ładuję JavaScript z węzła, a równoważniki obciążenia (lub cokolwiek) losowo modyfikują adres URL skryptu za każdym razem, gdy strona jest początkowo żądana?

obsłużyć początek marszczenia? Przeglądarka zauważy, że połączenie zostanie zamknięte, gdy serwer WWW zostanie zamknięty. Mogę napisać kod JavaScript, aby spróbować ponownie otworzyć połączenie, ale węzeł zniknie na chwilę. Sądzę więc, że musiałbym wrócić do systemu równoważenia obciążenia, aby zapytać o adres następnego węzła, którego należy użyć?

Zastanawiałem się, czy równoważniki obciążenia wysyłają przekierowanie na początkowe żądanie, tak że przeglądarka początkowo żądawww.mydomain.com i zostaje przekierowany dowww34.mydomain.com. Działa to całkiem dobrze, dopóki węzeł nie ulegnie awarii - a witryny takie jak Facebook tego nie robią. Jak oni to robią?

questionAnswers(3)

yourAnswerToTheQuestion