Wprowadzenie: Klastry

Klastry to grupy serwerów, które są zarządzane wspólnie i uczestniczą w zarządzaniu obciążeniem. Klaster może zawierać węzły lub poszczególne serwery aplikacji. Węzeł jest zwykle fizycznym systemem komputerowym z odrębnym adresem IP hosta, na którym działa jeden lub więcej serwerów aplikacji. Klastry można pogrupować w ramach konfiguracji komórki, która logicznie wiąże wiele serwerów i klastrów z różnymi konfiguracjami i aplikacjami, w zależności od uznania administratora i tego, co ma sens w ich środowiskach organizacyjnych.

Klastry są odpowiedzialne za równoważenie obciążenia między serwerami. Serwery, które są częścią klastra, są nazywane elementamiklastra. Podczas instalowania aplikacji w klastrze aplikacja jest automatycznie instalowana na każdym elemencie klastra. Klaster można skonfigurować w taki sposób, aby udostępniał równoważenie obciążenia przy użyciu integracji usług lub komponentów bean sterowanych komunikatami na serwerze aplikacji.

Opcje procesu uruchamiania klastra

Normalne przetwarzanie środowiska wykonawczego automatycznie uruchamia wszystkie komponenty serwera podczas procesu uruchamiania serwera. To przetwarzanie dotyczy wszystkich serwerów, w tym serwerów, które są częścią klastra. Można jednak skonfigurować serwery, w tym serwery, które są elementami klastra, w taki sposób, aby nie wszystkie komponenty serwera były uruchamiane podczas procesu uruchamiania serwera. Ta możliwość umożliwia serwerowi korzystanie z zasobów w zależności od potrzeb, zapewniając tym samym mniejszy i łatwiejszy dostęp do miejsca pracy, co zwykle powoduje poprawę wydajności.

Podczas konfigurowania elementów klastra w taki sposób, aby nie wszystkie komponenty elementów klastra uruchamiały się po uruchomieniu klastra lub konkretnego elementu klastra, komponenty elementów klastra są uruchamiane dynamicznie, ponieważ są one potrzebne. Na przykład, jeśli uruchamiany jest moduł aplikacji, który wymaga określonego komponentu serwera, ten komponent jest uruchamiany dynamicznie.

Klastry i grupy węzłów

Każda aplikacja, którą należy zainstalować w klastrze, musi być w stanie wykonać na dowolnym serwerze aplikacji, który jest elementem tego klastra. Ponieważ grupa węzłów tworzy granice dla klastra, wszystkie elementy klastra muszą być elementami tej samej grupy węzłów. Dlatego w przypadku pomyślnego uruchomienia aplikacji wszystkie elementy klastra muszą znajdować się w węzłach, które spełniają wymagania dla tej aplikacji.

W komórce, w której znajduje się wiele różnych konfiguracji serwerów, może być trudne określenie, które węzły mają możliwości udostępniania aplikacji. Grupa węzłów może być używana do definiowania grup węzłów, które mają wystarczająco dużo wspólnego z elementami hosta danego klastra. Wszystkie elementy klastra w klastrze muszą znajdować się w tej samej grupie węzłów.

Wszystkie węzły są elementami z co najmniej jednej grupy węzłów. Podczas tworzenia klastra pierwszy serwer aplikacji dodawany do klastra definiuje grupę węzłów, w obrębie której muszą znajdować się wszystkie inne elementy klastra. Wszystkie pozostałe elementy klastra, które zostaną dodane do klastra, mogą znajdować się tylko w węzłach, które są elementami tej samej grupy węzłów. Podczas tworzenia nowego elementu klastra w Konsoli administracyjnej użytkownik może utworzyć serwer aplikacji w węźle, który jest elementem grupy węzłów tylko dla tego klastra.

Węzły mogą być elementami z wielu grup węzłów. Jeśli pierwszy element klastra dodany do klastra ma zdefiniowane wiele grup węzłów, system automatycznie wybiera grupę węzłów, która będzie ograniczała klaster. Grupę węzłów można zmienić, modyfikując ustawienia klastra. Strona ustawień klastra serwerów służy do zmiany grupy węzłów.

Klastry i grupy podstawowe

W środowisku o wysokiej dostępności grupa klastrów może być zdefiniowana jako grupa podstawowa. Wszystkie serwery aplikacji zdefiniowane jako elementy jednego z klastrów zawartych w grupie podstawowej są automatycznie elementami tej grupy podstawowej. Pojedyncze serwery aplikacji, które nie są elementami klastra, mogą być również zdefiniowane jako elementy grupy podstawowej. Korzystanie z grup podstawowych umożliwia serwerowi WebSphere® Application Server zapewnienie wysokiej dostępności dla aplikacji, które muszą być zawsze dostępne dla użytkowników końcowych. Można również skonfigurować grupy podstawowe tak, aby komunikują się ze sobą za pomocą mostu grupy podstawowej. Grupy podstawowe mogą komunikować się w obrębie tej samej komórki lub między komórkami.

Elementy klastra

Wydajność systemu można zwiększyć, jeśli każdy element klastra zostanie skonfigurowany tak, aby każdy z ich komponentów był dynamicznie uruchamiany, ponieważ są one potrzebne, a nie zezwalać na automatyczne uruchamianie wszystkich tych komponentów po uruchomieniu elementu klastra. Wybranie tej opcji może spowodować skrócenie czasu uruchamiania klastra i zmniejszenie ilości pamięci dla elementów klastra. Uruchamianie komponentów w miarę ich potrzeb jest najbardziej efektywne, jeśli wszystkie aplikacje wdrożone w klastrze są tego samego typu. Na przykład użycie tej opcji działa lepiej, jeśli wszystkie aplikacje to aplikacje WWW korzystające z serwletów i technologii JSP (JavaServer Pages). Ta opcja działa mniej efektywnie, jeśli aplikacje korzystają z serwletów, stron JSP i komponentów EJB (Enterprise JavaBeans).

Unikaj problemów: Jeśli istnieją klienty działające w środowisku:
  • Obejmuje to cienkie klienty Java™ ,
  • W przypadku gdy żądania są kierowane między wieloma komórkami, lub
  • W przypadku, gdy żądania są kierowane w obrębie pojedynczej komórki, która zawiera węzły z wcześniejszych wersji produktu,
Mogą one nagle napotkać sytuację, w której informacje o porcie dotyczące elementów klastra docelowego stają się nieaktualne.

Sytuacja taka występuje najczęściej wtedy, gdy wszystkie elementy klastra mają dynamiczne porty i są restartowane w czasie, gdy nie są wysyłane żadne żądania. Proces klienta w tym stanie będzie ostatecznie próbował skierować się do agenta węzła w celu odebrania nowych danych portu dla elementów klastra, a następnie użyć danych nowego portu, aby skierować je z powrotem do elementów klastra.

Jeśli wystąpią jakiekolwiek problemy, które uniemożliwiają klientowi komunikację z agentem węzła lub zapobiegają propagowaniu nowych danych portu między elementami klastra i agentem węzła, mogą wystąpić niepowodzenia żądań na kliencie. W niektórych przypadkach niepowodzenia te są tymczasowe. W innych przypadkach konieczne jest zrestartowanie jednego lub większej liczby procesów w celu rozwiązania niepowodzenia.

Aby obejść problemy związane z routingami klienta, które mogą wystąpić w tych przypadkach, można skonfigurować porty statyczne w elementach klastra. W przypadku portów statycznych dane portu nie zmieniają się, ponieważ proces klienta pobiera informacje o elementach klastra. Nawet jeśli elementy klastra zostaną zrestartowane lub wystąpią problemy z komunikacją lub propagacją danych między procesami, dane portu przechowywane przez klienta są nadal poprawne. To obejście nie musi rozwiązywać problemów związanych z komunikacją lub propagacją danych, ale usuwa objawy nieoczekiwanych lub nierównych decyzji dotyczących routingu klienta.