Charakterystyka rozproszona, architektura, typy, cele, aplikacje

Charakterystyka rozproszona, architektura, typy, cele, aplikacje

Systemy rozproszone Są to elementy oprogramowania, które służą do koordynowania działań kilku komputerów. Ta koordynacja jest osiągana przez wymianę wiadomości, to znaczy w przypadku danych, które przesyłają informacje.

Systemy rozproszone wymagają jednoczesnych komponentów, sieci komunikacyjnej i mechanizmu synchronizacji. Pozwalają na udostępnianie zasobów, w tym oprogramowania, według systemów podłączonych do sieci. Dlatego system opiera się na sieci, która łączy komputery i obsługuje wiadomości.

A i B (systemy rozproszone). B (system równoległy). MIYM/CC BY-SA (https: // creativeCommons.Org/licencje/by-sa/3.0)

Obliczenia rozproszone to obszar informatyki odpowiedzialny za analizę systemów rozproszonych. Program komputerowy wykonywany w systemie rozproszonym nazywa się programem rozproszonym.

W kontekście, w którym mogą istnieć setki lub tysiące komputerów, co jest wspólną proporcją w dużych firmach internetowych, bardzo często występują niepowodzenia komponentów, czy to sprzętu, sieci, dysków itp., I system musi być przygotowany, aby stawić im czoła stawaniu czoła przez cały czas.

[TOC]

Dystrybucja danych

Rozkład jest kluczem do zarządzania bardzo dużymi konglomeratami danych. Konieczne jest osiągnięcie skalowalności, które są środkiem do utrzymania stabilnej wydajności, gdy klastry danych rosną poprzez dodanie nowych zasobów do systemu.

Z drugiej strony dystrybucja przedstawia szereg problemów technicznych, które sprawiają, że projektowanie i wdrożenie rozproszonej pamięci i obliczeń. Punktem, który należy wziąć pod uwagę, jest ryzyko możliwych niepowodzeń.

Charakterystyka systemów rozproszonych

A i B (systemy rozproszone). B (system równoległy). MIYM/CC BY-SA (https: // creativeCommons.Org/licencje/by-sa/3.0)

Zgodność

Urządzenia mogą działać z różnymi systemami operacyjnymi. To nie uniemożliwia im zawsze oferowania tych samych usług użytkownikom. Z tego powodu wszystkie podłączone urządzenia są ze sobą kompatybilne.

Innym fundamentalnym problemem jest projektowanie oprogramowania, ponieważ jest to również kompatybilne ze wszystkimi systemami i użytkownikami na każdym komputerze.

Tolerancja błędów

Będąc pojedynczą siecią z wieloma komputerami, jeśli którykolwiek z jego komponentów zawodzi, inni mogą nadal pełne wykonywanie swojej funkcji, unikając błędów szybko.

Z tego powodu systemy rozproszone zwykle zapewniają duże zaufanie podczas pracy z nimi, ponieważ rzadko jest to całkowicie zawieść, ponieważ zadania nie znajdują się w jednym urządzeniu, ale w innym sprzęcie.

Oprogramowanie pośrednie i API

Różne procesory wykorzystują oprogramowanie pośrednie dystrybucyjne, pomagając dzielić różne zasoby i zdolności, aby zapewnić użytkownikom spójną i zintegrowaną sieć. Oferuje również aplikacje szereg usług, takich jak bezpieczeństwo i odzyskiwanie awarii.

Obecnie więcej o interfejsach programowania aplikacji (API), które funkcjonują jako drzwi łącza, w których aplikacje mogą się komunikować. Aplikacje nie muszą nic wiedzieć o innych aplikacjach, z wyjątkiem ich interfejsu API.

Może ci służyć: zalety i wady internetowe

Architektura

Architektura klienta-serwer

Określony komputer o nazwie Server może wykonywać określone zadania, które nazywane są usługami. Na przykład oferuj pliki za pośrednictwem sieci, możliwość wykonywania niektórych poleceń lub rzucania danych do drukarki. Klient to komputer, który żąda usług.

Komputer znany głównie z świadczonej usługi można nazwać serwer drukowania, serwer plików itp.

Architektura od równych do równych (peer-to-peer)

Zakłada, że ​​każdy komputer ma podobne możliwości i że żadna maszyna nie jest poświęcona obsłudze innych. Przykładem tego jest zestaw mikrokomputerów w małym biurze.

Sieć umożliwia ludziom dostęp do plików innych i wysyłanie wiadomości e -mail, ale żaden komputer nie zapewnia określonego zestawu usług.

Różne architektury poziomu

W przypadku niektórych usług sensowne może być tworzenie hierarchicznej łączności. Na przykład:

  • Serwer podczas wykonywania zadań może skontaktować się z innym serwerem różnych typów
  • Architektura klienta-serwer jest architekturą dwupoziomową.

Architektura grupy procesorów

System operacyjny może automatycznie uruchomić procesy nieaktywnych komputerów, a nawet migrować procesy do systemów z większą liczbą dostępnych procesorów. W innych przypadkach użytkownik może ręcznie rozpocząć lub przenosić procesy w dostępnych systemach.

Rodzaje systemów rozproszonych

Obliczanie w klastrze

Jest to zestaw podobnych komputerów podłączonych za pomocą sieci lokalnej o wysokiej prędkości. Jest często używany do programowania równoległego, w którym pojedynczy intensywny program komputerowy jest wykonywany równolegle na kilku komputerach.

Każda klaster składa się z zestawu węzłów komputerowych, które są monitorowane i zarządzane przez jeden lub więcej węzłów o nazwie nauczyciele.

Obliczanie sieciowe

Składa się z węzłów z wyraźnymi różnicami w czerwonym sprzęcie i technologii. Obecna tendencja do posiadania określonej konfiguracji węzłów dla niektórych zadań doprowadziła do większej różnorodności, co jest najczęstsze w obliczeniach sieciowych.

Chmura obliczeniowa

Jest to zestaw zwirtualizowanych zasobów umieszczonych w centrum danych dostawcy chmury. Klienci mogą ustanowić zwirtualizowaną infrastrukturę, aby skorzystać z różnych usług w chmurze.

Dla użytkownika wydaje się, że wynajmuje własny ekskluzywny komputer. Jednak w rzeczywistości może się to dzielić z innymi klientami. To samo dotyczy wirtualnej pamięci.

Te zwirtualizowane zasoby można skonfigurować dynamicznie, co umożliwia skalowalność. Jeśli potrzebne są więcej zasobów komputerowych, system może zdobyć więcej.

Może ci służyć: systemy ekspertów: historia, cechy, zalety, wady

Cele

Udostępnij zasoby

Niezależnie od tego, czy jest to urządzenia do przechowywania, pliki danych, usługi lub sieci, możesz chcieć udostępnić te zasoby wśród aplikacji, według prostej gospodarki.

O wiele tańsze jest posiadanie wspólnej instalacji pamięci między wieloma aplikacjami, niż konieczność kupowania i utrzymywania pamięci dla każdego z nich osobno.

Abstrakcja

Aby ukryć, że procesy i zasoby są dystrybuowane w kilku komputerach, prawdopodobnie rozpowszechnionym geograficznie. To znaczy procesy i zasoby są abstrakcyjne od użytkownika.

Otwarcie

Zasadniczo wskazuje, że system rozproszony jest wzniesiony z elementami, które można łatwo zintegrować z innymi systemami. Wykonanie znormalizowanych reguł, każdy proces z tym interfejsem może komunikować się z innym procesem z tym samym interfejsem.

Interoperacyjność i przenośność

Odnosi się, gdy dwa systemy różnych producentów mogą współpracować. Przenośność określa, w jakim stopniu aplikacja złożona dla systemu A może działać w systemie B bez modyfikacji.

Skalowalność

Konieczne jest wzrost użytkowników, którzy potrzebują więcej zasobów. Dobrym przykładem jest wzrost liczby publiczności Netflix w każdy piątek wieczorem.

Oznacza to dynamicznie dodawanie większej liczby zasobów, takich jak zwiększenie pojemności sieci, umożliwiając większą transmisję wideo i zmniejszenie jej po znormalizowaniu zużycia.

Aplikacje

Maszyna wirtualna erlag

Pakiet oprogramowania Lyme oparty jest na Erlang i oferuje alternatywę dla lampy. Shmuel Csaba Otto Tranian/CC BY-SA (https: // creativeCommons.Org/licencje/by-sa/3.0)

Erlang jest językiem funkcjonalnym, który ma świetną semantykę dla zbieżności, dystrybucji i tolerancji niepowodzeń. Wirtualna maszyna Erlang zarządza dystrybucją aplikacji ERLAG.

Ten model działa w wielu izolowanych procesach, wszystkie z możliwością komunikowania się ze sobą za pośrednictwem zawartych komunikatów wiadomości.

Maszynę wirtualną Erlang można podłączyć do innych maszyn wirtualnych, które znajdują się w różnych miejscach. Ten rój maszyn wirtualnych wykonuje jedną aplikację, obsługując awarie maszyny programującej jego wykonanie w innym węźle.

BitTorrent

Działanie sieci BitTorrent. Mrjavi/cc by-sa (https: // creativeCommons.Org/licencje/nabrzeże/4.0)

Jest to jeden z najczęściej używanych protokołów do przesyłania dużych plików w Internecie. Główną ideą jest ułatwienie przesyłania plików między różnymi parami w sieci bez konieczności przechodzenia przez główny serwer.

Podczas korzystania z klienta BitTorrent możesz połączyć się z wieloma komputerami na całym świecie, aby pobrać plik. Komputer, który działa jako koordynator, pomaga pokazać węzły w sieci, które mają pożądany plik.

BitTorrent umożliwia dobrowolne przechowywanie plików i przesyłanie ich do innych użytkowników, którzy ich chcą. Jest tak popularny, ponieważ był pierwszym tego rodzaju, który oferuje zachęty do przyczynienia się do sieci.

Może ci służyć: termoelektryczne centralne

Zalety

- Więcej węzłów można łatwo dodać do systemu rozproszonego, to znaczy można go w razie potrzeby wspinać się.

- Wszystkie węzły w systemie rozproszonym są ze sobą podłączone. Dlatego każdy z węzłów może łatwo udostępniać dane innym węzłom.

- Zasoby, takie jak drukarki, można udostępniać wielu węzłom zamiast ograniczać jeden.

- Wadę węzła nie prowadzi do awarii całego systemu rozproszonego. Pozostałe węzły mogą nadal się ze sobą komunikować.

Niedogodności

- Niektóre wiadomości i dane mogą zostać utracone w sieci podczas przekazywania z jednego węzła do drugiego.

- Trudno jest zapewnić odpowiednie bezpieczeństwo w systemach rozproszonych, ponieważ należy zapewnić zarówno węzły, jak i połączenia.

- Przeciążenie w sieci może wystąpić, jeśli wszystkie węzły rozproszonego systemu próbują wysyłać dane w tym samym czasie.

- Baza danych podłączona do systemów rozproszonych jest dość skomplikowana i trudna w obsłudze w porównaniu z jednym systemem użytkownika.

Przykłady systemów rozproszonych

Systemy rozproszone mogą być używane w wielu przypadkach, takich jak elektroniczne systemy bankowe, masowe gry wieloosobowe i sieci czujników.

Stackpath

Użyj szczególnie dużego systemu rozproszonego, aby zwiększyć usługę sieci dostarczania treści. Każdy z jego punktów obecności (POP) ma węzły, tworząc system rozproszony na całym świecie.

StackPath przechowuje żądaną treść ostatnio i częściej w lokalizacjach najbliżej używanej strony.

Podczas połączenia komputerów wirtualnych, oprócz korzystania z prędkości i zwinności informatyki TIP, system może bardzo szybko obsługiwać tysiące jednoczesnych aplikacji.

Internet

Jest to największy system rozproszony na świecie. Każdy użytkownik czuje się tak, jakby był to pojedynczy system, chociaż składa się z milionów komputerów.

Poprzez koncepcję abstrakcji nie ma pojęcia, gdzie dane są przechowywane, ile serwerów jest zaangażowanych lub jak przybywają informacje do przeglądarki. Przeglądarka rozpuszcza złożoność Internetu.

Dotyczy to również aplikacji takich jak e -mail Gmail lub dowolna inna aplikacja, której można użyć. Wszyscy ludzie codziennie współdziałają z rozproszonymi aplikacjami.

Bibliografia

  1. Paul Krzyzanowski (2018). Systemy rozproszone. Zaczerpnięte z: CS.Rutgers.Edu.
  2. Catherine Paganini (2019). Po pierwsze: systemy rozproszone i natywne przetwarzanie chmur. Nowy stos. Zaczerpnięte z: thenewstack.Io.
  3. Międzynarodowy Uniwersytet Walencji (2020). Systemy rozproszone, cechy i klasyfikacja. Zaczerpnięte z: Universityviu.com.
  4. David Meador (2018). Systemy rozproszone. Punkt samouczków. Zaczerpnięte z: Tutorialspoint.com.
  5. Robert Gibb (2019). Co to jest system rozproszony? Zaczerpnięte z: blogu.Stackpath.com.
  6. Stanislav Kozlovski (2018). Do dokładnego wprowadzenia do systemów rozproszonych. Bezpłatny obóz kodowy. Zaczerpnięte z: Freecodecamp.org.