Partycjonowanie Usług

Problem

Chcemy zwiększyć skalowalność systemu, zwiększyć dostępność, wydajność oraz nie dopuścić do sytuacji, w której jeden komponent powoduje zagłodzenie pozostałych komponentów

Rozwiązanie

Stosujemy mechanizm partycjonowania usług systemu

Partycjonowanie usług polega na rozdzieleniu komponentów zainstalowanych na jednym węźle i umieszczeniu ich na węzłach dedykowanych.

Konsekwencje

Zalety partycjonowania usług

  • niezależność komponentów - obciążenie jednego komponentu nie ma wpływu na działanie drugiego komponentu

  • lepsza skalowalność systemu - umieszczenie komponentów na osobnych węzłach umożliwi skalowanie każdej warstwy osobno

  • większa wydajność - ograniczenie context-switching’u, każdy komponent posiada dedykowaną jednostkę przetwarzania

  • większa dostępność

Wady partycjonowania usług

  • nie zawsze możliwe - tylko wtedy gdy komponenty da się rozdzielić

  • częsta konieczność modyfikacji komponentów - np. dodanie komunikacji zdalnej itp

  • możliwe nieoptymalne wykorzystanie zasobów przez rozdzielone usługi

Comments