Co to jest klastrowanie aplikacji?
W informatyce klaster to grupa komputerów, zwykle komputerów lub serwerów, dedykowanych do jednego zadania. Praktyka grupowania serwerów w ten sposób nazywa się klastrowaniem serwerów. Klastrowanie aplikacji to klastrowanie serwerów za pomocą oprogramowania do konfigurowania serwerów do klastrowania. Oprogramowanie tworzy połączenie między serwerami, które pozwala im wykonywać zadania takie jak równoważenie obciążenia, wykrywanie awarii i kompensacja awarii poszczególnych serwerów.
Gdy system korzysta z klastrowania aplikacji, oznacza to, że używa aplikacji, która została indywidualnie zainstalowana na każdym z serwerów, aby umożliwić serwerom obsługę obciążenia serwera, tak jakby był to jeden gigantyczny serwer. Aplikacja obsługuje routing danych do iz serwerów klastrowych. Klastrowanie aplikacji jest sprzeczne z klastrowaniem sprzętowym, które wykorzystuje inny sprzęt do klastrowania serwerów. Typy sprzętowych urządzeń do klastrowania obejmują skrzynki sieciowe, które umożliwiają zestawom serwerów komunikowanie się jako klaster lub szafkę klastrową, która fizycznie mieści i klastruje szereg serwerów. Gdy sprzęt jest używany do klastrowania zestawu serwerów, zwykle obsługuje te same zadania danych, co oprogramowanie do klastrowania aplikacji.
Równoważenie obciążenia to proces rozdzielania obciążenia danych między dostępne serwery. W przypadku serwerów zawierających witrynę internetową w Internecie równoważenie obciążenia pomogłoby określić, który serwer odpowiada na żądania ruchu sieciowego. Typy klastrów obejmują klastry symetryczne i klastry asymetryczne. Klastry symetryczne to klastry, które równomiernie rozkładają obciążenie między wszystkie podłączone serwery, natomiast klastry asymetryczne rezerwują niektóre serwery na wypadek awarii serwerów głównych. Ponieważ serwery z klastrami symetrycznymi, które otrzymują stałe obciążenie, mogą być bardziej narażone na awarię po trafieniu dodatkowym obciążeniem z powodu awarii innego serwera, który może zniszczyć cały system, serwery asymetryczne zapewniają lepszą ochronę przed całkowitą awarią.
Korzyści z używania serwerów klastrowych obejmują zwiększoną skalowalność i ochronę przed przestojami. Skalowalność to zdolność do zwiększania lub zmniejszania określonego rodzaju zasobów, jeśli system wymaga zmniejszenia lub wzrostu. Klastrowanie aplikacji sprawia, że system serwerów jest skalowalny, ponieważ pozwala na łatwe dodawanie lub usuwanie serwerów z klastra.
Ponieważ klaster serwerów oznacza, że wiele serwerów jest dedykowanych do tego samego celu, klastrowanie może zawierać bardziej płynną, wolną od błędów funkcję serwera. Jest to niezbędne dla firm zależnych od sprzedaży dokonywanej za pośrednictwem ich stron internetowych. Nawet krótkie przestoje serwera mogą powodować poważne straty finansowe dla sklepu internetowego. Gdy firma korzysta z klastra serwerów, prawdopodobieństwo przestoju znacznie się zmniejsza, ponieważ zazwyczaj potrzeba wielu serwerów do usunięcia klastra serwerów.