Dodaj komentarz

Bitrix Web Cluster zabezpiecza wydajność i ciągłość pracy portalu intranetowego Bitrix24

Bitrix Web Cluster stanowi technologię umożliwiającą instalację jednego portalu intranetowego na wielu serwerach. Rozwiązuje to kilka ważnych kwestii, takich jak optymalizacja dostępności usług i ich wydajnego działania, zrównoważenie obciążenia systemu i ruchu, a także replikowanie danych dla zapewnienia bezpieczeństwa i ciągłości pracy.

Geograficzna dystrybucja klastrów umożliwia dostęp do danych zlokalizowanych w serwerowniach w różnych miastach i państwach. Każdy klaster dysponuje serwerem master, który pracuje w koordynacji z pozostałymi serwerami master, dzięki czemu możliwa jest ciągła synchronizacja danych pomiędzy różnymi lokalizacjami, tym samym zwiększa się bezpieczeństwo całego systemu w przypadku wyłączenia którejkolwiek z nich.

Zastosowanie technologii klastra powoduje również znaczące korzyści w  postaci skalowalności systemu i jego bezpieczeństwa opartego na redundancji danych. Kolejne serwery i powierzchnia dyskowa mogą być włączane do systemu, podnosząc jego całkowitą wydajność. Dodatkowe narzędzia umożliwiają sprawną konfigurację nowych serwerów przy użyciu konfiguratora i konwertowanie ich funkcjonowania z trybu slave do trybu master.

Skalowalność systemu w obliczu rosnącego obciążenia

Wraz z rozwojem projektu platformy intranetowej należy oczekiwać jego rosnącej popularności, a w rezultacie zwiększonego zapotrzebowania na moc obliczeniową CPU, pamięć RAM i powierzchnię dyskową na gromadzone dane. Bitrix Web Cluster dostarcza elastycznej skalowalności w czasie rzeczywistym dla określonych zasobów, poprzez dodanie nowych maszyn do klastra.

Kluczowe cechy technologii:

  • Nody w klastrze mogą mieć różną konfigurację: host wirtualny, VPS, dedykowany serwer, instancja chmury
  • Nody mogą być dystrybuowane na różne sposoby włącznie z tym, że mogą być zlokalizowane w oddzielnych centrach danych
  • Dodawanie nodów zwiększa wydajność portalu proporcjonalnie do ilości nowych zasobów

Klaster niezawodnościowy

Drugą ważną kwestią jest zapewnienie wysokiej dostępności systemu poprzez backup danych i zwiększenie jego tolerancji na występujące problemy sprzętowe. Jeżeli portal jest zainstalowany na pojedynczym serwerze, a ten straci połączenie lub wystąpi sytuacja awaryjna w centrum danych, z dużym prawdopodobieństwem wystąpi przerwa w dostępie do usług.

Zastosowanie klastra Bitrix w przypadku wszystkich komponentów portalu (web serwery i bazy danych) minimalizuje, a nawet eliminuje ryzyko braku dostępności usług. Z chwilą, gdy jeden z nodów ulega awarii (np. bazy danych, web serwera, serwera memcache), Web Cluster zareaguje i automatycznie rozdystrybuuje obciążenie systemu pomiędzy pozostałymi nodami. Po zdiagnozowaniu problemu i przywróceniu serwera do poprawnego funkcjonowania ponownie zostaje on włączony do pracy w klastrze, zwiększając wydajność całego systemu.

Backup w czasie rzeczywistym - redundancja

Potrzeba dokonywania okresowych kopii zapasowych jest oczywista, ale ważne jest również to, aby przywrócić pełną sprawność systemu po awarii w możliwie najkrótszym czasie. Jeżeli częstotliwość tworzenia kopii zapasowych jest nie dość duża, w przypadku awarii utracone może zostać wiele ważnych informacji.

Bitrix Web Cluster oferuje możliwość pełnej redundancji - wszystkie dane mogą być backup'owane w czasie rzeczywistym. Pozwala podłączyć jeden z nodów jako backup serwer. Nie musi być to kosztowny serwer, do tego celu wystarczy nawet VPS (prywatny serwer wirtualny). W środowisku klastra ten node może zostać przeznaczony wyłącznie na potrzeby kopii zapasowej i wówczas nie będzie on brał udziału w obsłudze ruchu użytkowników. Natomiast kopie plików i baz danych będą zachowywane w czasie rzeczywistym, co w razie awarii gwarantuje maksymalną aktualność przywracanego systemu. Najszybszym sposobem będzie w takim przypadku wykorzystanie serwera kopii zapasowej jako serwera produkcyjnego.

Usługa wysokiej dostępności treści i obniżenie kosztów obsługi ruchu

W jaki sposób zrównoważyć wydajność pracy systemu z kosztami jego obsługi dla użytkowników łączących się z różnych geograficznie lokalizacji? Web klastry mogą być rozdystrybuowane pomiędzy centra danych w różnych miastach i państwach. Dodatkowe narzędzia, takie jak GeoIP, mogą automatycznie określać lokalizację użytkownika i przekierowywać zapytania do najbardziej odpowiedniego noda w klastrze.

Technologie zaimplementowane w rozwiązaniu Bitrix Web Cluster

Wertykalny podział bazy danych (sharding)

Sharding oznacza podział danych aplikacji na dwie lub więcej baz danych, które służą poszczególnym modułom systemu, bądź też grupom modułów. Metoda ta nie wpływa na logiczną strukturę aplikacji webowej.

 shrading

Poniższe moduły systemu mogą być obsługiwane przez odrębne serwery:

  • Analityka portalu
  • Wyszukiwanie

Replikacja MySQL

Replikowanie bazy danych MySQL oznacza proces kreowania i obsługi jej aktualnych kopii. Aplikacja współpracuje nie z jedną, lecz wieloma bazami: jedna baza jest używana do zapisu, a pozostałe do odczytu. Ten mechanizm odnosi się wyłącznie do MySQL - nie dotyczy innych typów baz danych wspieranych przez Bitrix.

Rozwiązanie to redukuje obciążenie podstawowej bazy danych, jako że odczyt odbywa się z dodatkowych baz typu slave, a baza główna wykorzystywana jest wyłącznie dla zapisu. Kopia bazy master wykonywana jest w czasie rzeczywistym do baz slave. Replikowanie typu master-master jest również możliwe.

replikacja

Rozproszony cache danych

Serwer typu memcache umożliwia zapis danych cache nie w plikach, lecz w pamięci operacyjnej. Wykorzystanie wielu serwerów memcache poprawia niezawodność systemu poprzez zwiększenie stabilności sub-systemu cache w przypadku wystąpienia awarii serwera. Skalowalność tego systemu zapewniona jest poprzez możliwość dodawania kolejnych memcache serwerów w systemie.

memcached

Cache utworzony przez nody 1, 2 i/lub kolejne może być używany jako cache obsługujący cały klaster, tak więc każdy node w klastrze ma do niego dostęp. Im więcej nodów, tym bardziej znaczący jest efekt scentralizowanego cache.

Kontynuowanie sesji pomiędzy web serwerami - przechowywanie sesji w bazie danych

Korzystając z pojedynczego web serwera, przechowywanie sesji w systemie plików serwera jest najwygodniejszą metodą. Jednakże praca z wieloma web serwerami może doprowadzić do sytuacji, w której zapytanie użytkownika (np. autoryzacja) pojawia się na jednym serwerze, a następne zapytanie na innym, na którym użytkownik ten nie został zautoryzowany. Jeżeli sesje są przechowywane w systemie plików, a nie w bazie danych, statystyki i analiza ruchu użytkownika bazowałyby na niewłaściwych danych.

Serwery web w klastrze

Wykorzystanie wielu serwerów webowych dla portalu oznacza, że wszelkie zapytania od użytkowników mogą być obsługiwane przez różne nody w klastrze. Warunkiem takiego podejścia jest to, aby każdy z web serwerów dysponował tym samym zasobem danych. Na przykład obraz umieszczany przez panel administratora powinien być dostępny do wyświetlenia dla użytkownika również przy użyciu pozostałych serwerów webowych. Dlatego podczas wdrażania klastra webowego powinna zostać ustanowiona synchronizacja treści na każdym z nodów, wraz z rozłożeniem obciążenia pomiędzy nimi.

Virtual Appliance ze wsparciem dla Web Cluster

Narzędzie Virtual Appliance zawiera konfigurator do tworzenia klastra webowego, dodawania serwera typu slave i przekształcania serwera slave w serwer typu master. Możliwe jest również kreowanie wielu portali z wykorzystaniem konfiguratora dla pojedynczej maszyny wirtualnej.

va

Kategorie: