Odpowiedzi:
Rozróżnienie między modułami równoważenia obciążenia „sprzętowymi” i „programowymi” nie ma już znaczenia. Tak zwany „sprzętowy” moduł równoważenia obciążenia to procesor klasy PC, interfejsy sieciowe z funkcjami przetwarzania pakietów i niektóre oprogramowanie, które to wszystko łączy. Moduł równoważenia obciążenia „programowy” zrealizowany na dobrym serwerze z nowoczesnymi kartami sieciowymi jest… taki sam.
To, co zyskujesz dzięki wysokiej klasy ofertom komercyjnym, takim jak F5 lub Citrix Netscaler, to:
Dzięki oprogramowaniu do równoważenia obciążenia oprogramowania (open source) nie masz odwrotności, to, co otrzymasz, zależy od wybranego oprogramowania i tego, jak sobie z tym poradzisz. To powiedziawszy, zazwyczaj zobaczysz:
Różnice nie dotyczą tak naprawdę „sprzętu” w porównaniu z „oprogramowaniem”. Opiera się na „kupie sprawdzony stos technologii jako urządzenie” w porównaniu z „zbuduj go sam”. Przy podejmowaniu ostatecznej decyzji należy oczywiście wziąć pod uwagę wiele zmiennych (koszty, zestawy umiejętności wewnętrznych, tolerancja na przestoje, przyszły wzrost itp.).
Sprzętowe moduły równoważące obciążenie zazwyczaj mają bogatszy zestaw funkcji, szczególnie gdy dojdziesz do dużych, takich jak F5. Dodatkową zaletą jest większa skalowalność dzięki odciążeniu sprzętu.
Z drugiej strony, jeśli wiesz, że ruch nie będzie zbyt duży, równoważenia obciążenia oprogramowania faktycznie działają całkiem dobrze. Jeśli możesz to zrobić dzięki posiadaniu warstwy 4 LB, Linux LVS + Keepalived jest bardzo dobrą opcją. Jeśli potrzebujesz mocy warstwy 7 LB, możesz spróbować HAProxy.
Podsumowując, LB HW zwykle skalują się lepiej niż LB SW.
Mam nadzieję że to pomoże!
Kilka myśli:
Pro: maszyna, na której uruchomiony jest moduł równoważenia obciążenia, może mieć znacznie mocniejszy sprzęt, więc byłby szybszy i nakładałby mniejsze opóźnienia (chociaż w zależności od prędkości twoich łączy ze światem zewnętrznym może to nie mieć większego znaczenia).
Przeciw: sprzętowy moduł równoważenia obciążenia prawdopodobnie nie będzie miał więcej mocy obliczeniowej niż potrzebuje (może działać na chipie opartym na Atom lub ARM, a nie na przykład na wysokiej klasy procesorze Intel / AMD), więc zużywa mniej energii i generuje mniej ciepło.
Pro: zainstalowanie własnego układu równoważenia obciążenia oprogramowania może zapewnić większą elastyczność konfiguracji i późniejszych aktualizacji / zmian, przy czym rozwiązanie sprzętowe może być znacznie bardziej zamkniętym rozwiązaniem „czarnej skrzynki”. Jednak jeśli kupujesz usługę zarządzaną w celu wdrożenia modułu równoważenia oprogramowania, nie będzie to miało większego znaczenia.
Przeciw: jeśli nie zarządzasz modułem równoważącym oprogramowanie (tj. Zadanie jest zlecane na zewnątrz lub kupujesz usługę w ramach większego zarządzanego hostingu), opłaty administracyjne za utrzymanie konfiguracji mogą oznaczać, że sprzęt jest dostępny od ręki rozwiązanie byłoby tańsze na dłuższą metę. Należy również pamiętać, aby czynnik w swoim czasie do żadnej kalkulacji kosztów, jeśli Ty lub Twoja firma będzie zarządzanie równoważenia obciążenia.
105931 sessions per second
i około 17% wykorzystania procesora - to całkiem szalone jak na pojedynczy podstawowy procesor Xeon
Uwzględniłbym również te punkty:
Jeśli firma ma dział IT ze specjalistą ds. Sieci, sprzętowy LB może pomóc zmniejszyć obciążenie związane z utrzymaniem ze strony zespołu programistów.
Czasami, szczególnie w przypadku dużych firm, przyjęcie nowego sprzętu, którego nikt nie wie, jak obsługiwać, oznacza zatrudnienie drogich konsultantów, a nawet nowego pracownika.
Zespół programistów nienawidzi rozwiązania sprzętowego, jeśli planuje zaakcentować funkcje modułu równoważenia obciążenia, na przykład w celu przyjęcia ciągłego wdrażania.
Najwyraźniej HW LB mogą poprawić obsługę połączeń SSL, a tym samym zmniejszyć całkowitą liczbę wymaganych serwerów aplikacji: