Klaster
Klaster (ang. cluster) to grupa dwóch lub więcej serwerów połączonych w sieć i skonfigurowanych tak, aby z perspektywy użytkownika działały jako jeden spójny system. Pojedyncze maszyny wchodzące w skład klastra nazywa się węzłami (nodes). Celem takiego rozwiązania jest wyeliminowanie pojedynczego punktu awarii oraz umożliwienie obsługi większego ruchu, niż udźwignąłby jeden serwer.
Jak działa klaster?
Węzły klastra nieustannie komunikują się między sobą, wymieniając informacje o swoim stanie (tzw. heartbeat). Dzięki temu klaster wie, które maszyny są sprawne, i potrafi zareagować na awarię. W zależności od celu wyróżnia się kilka podstawowych typów:
- klaster wysokiej dostępności (HA) — jeśli aktywny węzeł ulegnie awarii, zapasowy natychmiast przejmuje jego zadania (failover), minimalizując przestój;
- klaster równoważenia obciążenia — ruch jest rozdzielany między węzły przez load balancer, co zwiększa przepustowość;
- klaster obliczeniowy (HPC) — węzły łączą moc, aby wspólnie realizować złożone obliczenia;
- klaster bazodanowy — dane są replikowane między węzłami, zapewniając odporność na awarie i skalowanie odczytów.
Kluczowym mechanizmem jest tu replikacja — synchronizacja danych i stanu między węzłami, by przejęcie zadań przebiegło bezstratnie. Istotnym pojęciem jest też kworum: aby uniknąć tzw. rozdwojenia jaźni (split-brain), część klastrów wymaga zgody większości węzłów na podjęcie decyzji o przejęciu roli lidera.
Zastosowanie w praktyce
Klastry są fundamentem usług, które muszą działać nieprzerwanie: sklepów internetowych w szczytach sprzedaży, platform SaaS, systemów bankowych czy dużych baz danych. Dzięki nim aktualizacje i konserwacja mogą przebiegać bez wyłączania usługi — węzły wyłącza się i aktualizuje po kolei. To także podstawa wysokiej dostępności w profesjonalnym hostingu i środowiskach VPS przygotowanych na duże obciążenia.
Współcześnie idea klastra jest sercem orkiestracji kontenerów — Kubernetes zarządza klastrem węzłów, na których automatycznie rozmieszcza i skaluje aplikacje, przenosząc obciążenie w razie awarii dowolnej maszyny.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się klaster od pojedynczego serwera?
Pojedynczy serwer to jeden punkt awarii — jego awaria oznacza przerwę w usłudze. Klaster rozkłada zadania na wiele węzłów, więc gdy jeden zawiedzie, pozostałe przejmują jego pracę. Zwiększa to zarówno dostępność, jak i możliwość obsługi większego ruchu.
Czym jest node w klastrze?
Node (węzeł) to pojedynczy serwer należący do klastra. Węzły komunikują się między sobą, wymieniają informacje o stanie i współdzielą obciążenie. W zależności od roli węzeł może być aktywny, zapasowy lub pełnić funkcję zarządzającą całym klastrem.
