Articles

Co to jest system rozproszony?

Posted on

Definicja

System rozproszony, znany również jako przetwarzanie rozproszone, jest systemem z wieloma komponentami znajdującymi się na różnych maszynach, które komunikują się i koordynują działania, aby ukazać się użytkownikowi końcowemu jako jeden spójny system.

Przegląd

Maszyny, które są częścią systemu rozproszonego mogą być komputerami, serwerami fizycznymi, maszynami wirtualnymi, kontenerami lub jakimikolwiek innymi węzłami, które mogą łączyć się z siecią, posiadać pamięć lokalną i komunikować się poprzez przekazywanie wiadomości.

Istnieją dwa ogólne sposoby funkcjonowania systemów rozproszonych:

  1. Każda maszyna pracuje w kierunku wspólnego celu, a użytkownik końcowy postrzega rezultaty jako jedną spójną jednostkę.
  2. Każda maszyna ma swojego własnego użytkownika końcowego, a system rozproszony ułatwia współdzielenie zasobów lub usług komunikacyjnych.

Mimo że systemy rozproszone mogą być czasami niejasne, zazwyczaj mają trzy podstawowe cechy: wszystkie komponenty działają współbieżnie, nie ma globalnego zegara, a wszystkie komponenty zawodzą niezależnie od siebie.

Korzyści i wyzwania związane z systemami rozproszonymi

Są trzy powody, dla których zespoły zazwyczaj decydują się na wdrożenie systemów rozproszonych:

  • Skalowalność pozioma – Ponieważ obliczenia odbywają się niezależnie na każdym węźle, łatwo jest dodać dodatkowe węzły i funkcjonalność w razie potrzeby i jest to niedrogie.
  • Niezawodność – Większość systemów rozproszonych jest odporna na błędy, ponieważ może składać się z setek węzłów, które współpracują ze sobą. System zazwyczaj nie doświadcza żadnych zakłóceń, jeśli pojedyncza maszyna ulegnie awarii.
  • Wydajność-Systemy rozproszone są niezwykle wydajne, ponieważ obciążenia robocze mogą być rozbijane i wysyłane do wielu maszyn.

Jednakże systemy rozproszone nie są pozbawione wyzwań. Złożone procesy projektowania architektonicznego, budowy i debugowania, które są wymagane do stworzenia efektywnego systemu rozproszonego mogą być przytłaczające.

Trzy kolejne wyzwania, które możesz napotkać to:

  • Scheduling-System rozproszony musi zdecydować, które zadania muszą być uruchomione, kiedy powinny być uruchomione i gdzie powinny być uruchomione. Harmonogramy ostatecznie mają ograniczenia, prowadząc do niewykorzystania sprzętu i nieprzewidywalnych czasów działania.
  • Latencja – Im szerzej system jest rozproszony, tym większych opóźnień można doświadczyć w komunikacji. Prowadzi to często do kompromisów pomiędzy dostępnością, spójnością i opóźnieniami.
  • Obserwowalność – Gromadzenie, przetwarzanie, prezentowanie i monitorowanie metryk użytkowania sprzętu dla dużych klastrów jest poważnym wyzwaniem.

Jak działa system rozproszony

Architektury sprzętowe i programowe są używane do utrzymania systemu rozproszonego. Wszystko musi być ze sobą połączone – procesory przez sieć, a procesy przez system komunikacji.

Typy systemów rozproszonych

Systemy rozproszone generalnie należą do jednego z czterech różnych podstawowych modeli architektury:

  1. Klient-serwer-Klienci kontaktują się z serwerem w celu uzyskania danych, następnie formatują je i wyświetlają użytkownikowi końcowemu. Użytkownik końcowy może również dokonać zmiany po stronie klienta i przesłać ją z powrotem do serwera, aby ją utrwalić.
  2. Three-tier-Informacje o kliencie są przechowywane w warstwie pośredniej, a nie na kliencie, aby uprościć wdrażanie aplikacji. Ten model architektury jest najczęściej spotykany w aplikacjach internetowych.
  3. n-tier-Generalnie stosowany, gdy aplikacja lub serwer musi przekazywać żądania do dodatkowych usług przedsiębiorstwa w sieci.
  4. Peer-to-peer-Nie ma dodatkowych maszyn używanych do świadczenia usług lub zarządzania zasobami. Obowiązki są równomiernie rozdzielone pomiędzy maszyny w systemie, znane jako peer, które mogą służyć jako klient lub serwer.

Przykład systemu rozproszonego

Systemy rozproszone mają nieskończoną ilość zastosowań, niektóre z nich to systemy bankowości elektronicznej, gry online typu massive multiplayer i sieci czujników.

StackPath wykorzystuje szczególnie duży system rozproszony do zasilania swojej usługi sieci dostarczania treści. Każdy z naszych punktów obecności (PoP) posiada węzły, które tworzą ogólnoświatowy system rozproszony. Aby zapewnić najwyższą jakość dostarczania treści, StackPath przechowuje ostatnio i często żądane treści w lokalizacjach brzegowych najbliższych miejscu, w którym są one używane.

Systemy rozproszone na brzegu

Dzięki usługom obliczeniowym, maszynom wirtualnym i kontenerom StackPath, użytkownicy mogą tworzyć własne systemy rozproszone. Łącząc maszyny wirtualne i kontenery, a także wykorzystując szybkość i sprawność, które pochodzą z przetwarzania brzegowego, Twój system może obsługiwać tysiące jednoczesnych żądań z błyskawiczną prędkością.

Key Takeaways

  • Systemy rozproszone mogą składać się z dowolnej maszyny zdolnej do połączenia z siecią, posiadającej pamięć lokalną i komunikującej się poprzez przekazywanie wiadomości.
  • Dzięki rozproszeniu żądań i obciążeń, systemy rozproszone mogą obsłużyć znacznie więcej żądań i zadań obliczeniowych niż standardowy pojedynczy system.
  • Możesz stworzyć swój własny błyskawiczny system rozproszony poprzez połączenie kontenerów i maszyn wirtualnych StackPath.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *