Jak mogę wyrównać obciążenie modułu równoważenia obciążenia?

11

Mam zamiar przekonwertować aplikację internetową z jednym serwerem i jedną bazą danych na fizycznie rozproszoną konfigurację o wysokiej dostępności z serwerami w dwóch fizycznych lokalizacjach (na razie). Teraz oczywiście potrzebuję modułu równoważenia obciążenia (w tym przypadku bardziej jak odwrotne proxy, ale dla uproszczenia nazwałbym go „modułem równoważenia obciążenia”), który kierowałby żądania mywebsitedo jednego z nich node1.mywebsitelub node2.mywebsite. Zakładam jednak, że serwery o wysokiej dostępności nie będą przydatne, jeśli mój moduł równoważenia obciążenia ulegnie awarii. Dlatego, zgodnie z moim tokiem myślenia, potrzebowałbym dwóch równoważników obciążenia, po jednym w każdej lokalizacji. Jednak nadal chciałbym mieć pojedynczy zewnętrzny punkt dostępu, dlatego potrzebowałbym modułu równoważenia obciążenia dla modułów równoważenia obciążenia, który z kolei musiałby być zrównoważony w różnych lokalizacjach ... to trwa.

Więc co jest nie tak z moim rozumowaniem? W jaki sposób zapewniłbym wysoką dostępność moich równoważników obciążenia w praktyce, zakładając, że każda z fizycznych lokalizacji mogłaby być odłączona od zasilania na długi okres czasu?

PS : Zdaję sobie sprawę z tego, że moje rozumienie różnicy między HA a równoważeniem obciążenia jest w najlepszym razie przeciętne. To, czego chcę, to dostępny serwer, nawet jeśli moc w jednej lokalizacji spadnie. Dziękuję za zrozumienie.

Nikołaj Prokoschenko
źródło
1
Czy sprawdziłeś pracę awaryjną IP? Jeśli oba centra danych są tym samym dostawcą, powinno być rozsądnie proste
Smudge
Musisz mieć swoje węzły w oddzielnych sieciach? - Gdy jest w tej samej sieci LAN, HA jest łatwiejszy do skonfigurowania.
Sandman4
Jaki jest twój główny cel - chcesz równoważenia obciążenia, co oznacza, że ​​chcesz obsłużyć obciążenia wyższe niż te, które są odpowiednie dla pojedynczego serwera, lub HA, co oznacza, że ​​chcesz, aby Twoja witryna działała nawet w przypadku awarii jednego węzła?
Sandman4

Odpowiedzi:

4

Nie możesz, dlatego równoważenie obciążenia nie ma nic wspólnego z dostępnością .

adapttr
źródło
2

Dwa równoważniki obciążenia powinny wystarczyć. Będziesz używać tylko jednego modułu równoważenia obciążenia na raz. Nazwa mywebsite powinna zostać przypisana do adresu VIP przypisanego do jednego z modułów równoważenia obciążenia.

Khaled
źródło
jest VIP = wirtualny adres IP? Która część infrastruktury będzie hostować routing VIP, tj. Wykryje, że jeden LB jest wyłączony i skieruje się do drugiego? Jeśli jest w jednej z lokalizacji, może być również w dół ...
Nikołaj Prokoschenko
W przypadku VIP prośby kierowane są do obu LB i jeden z nich decyduje się odpowiedzieć na podstawie tego, czy uważa, że ​​drugi działa. Sugerowałoby to, że nie są one rozdzielone geograficznie, co stanowi zupełnie inny poziom dostępności.
JamesRyan
2

Możesz wykonać zgrubne HA i wyważanie za pomocą okrągłych robin dns, umieszczając je przed modułami równoważenia obciążenia.

JamesRyan
źródło
Round robin będzie równoważył obciążenie, ale jak w przypadku HA - NO. Zasadniczo przeglądarka wybierze jeden z węzłów i pozostanie przy nim. Ma 50% szans na trafienie dobrego lub złego.
Sandman4
Nie, nie tak się dzieje. Większość współczesnych przeglądarek pobiera wszystkie adresy IP, w tym złe, i przejrzyście ponownie od dobrych. Nie jest niezawodny, ale zadziała dla zdecydowanej większości użytkowników.
JamesRyan
Co sprawia, że ​​tak myślisz ? Miałem też taką nadzieję, dopóki sam tego nie przetestowałem. Zarówno firefox, jak i chrome będą próbować pierwszego adresu IP przez 180 sekund , a następnie przejdą do następnego adresu IP. Gdy przejdziesz do następnej strony, zaczną od pierwszego (nie reagującego) adresu IP i zaczekają kolejne 180 sekund i tak dalej. ( serverfault.com/questions/327708/… )
Sandman4
Tak, masz 50% szansy na przekroczenie limitu czasu pierwszego żądania, ale gdy tylko to zrobi lub odświeżysz, przejdzie do dobrego adresu IP i pobierze ok. Od drugiego żądania nie wraca ponownie do złego adresu IP, trzyma się dobrego.
JamesRyan
Fuj Możemy dalej mówić „robi” lub „nie robi”. Po prostu WYPRÓBUJ i zobacz. Kliknięcie przycisku Odśwież nic nie zmienia (przynajmniej w chromie) - czekasz 180 sekund, nawet jeśli klikniesz przycisk Zatrzymaj i ponownie otworzysz stronę.
Sandman4