Spis treści
Wymagania względem wytwarzanego oprogramowania rosną z roku na rok. Coraz większa elastyczność systemu, coraz krótszy czas odpowiedzi, coraz większa liczba użytkowników – to tylko niektóre z wyzwań, które stoją przed architektami systemów i programistami, którzy posiadając pewne ograniczone zasoby, niejednokrotnie muszą stworzyć oprogramowanie o bardzo wysokim stopniu zaawansowania. W takich przypadkach decyzja pada na utworzenie systemu rozproszonego. Czym jest system rozproszony? Jakie jest jego zastosowanie? Czy zalety stosowania systemów rozproszonych przekraczają liczbę wad takiego rozwiązania?
Systemy rozproszone – podstawowe informacje
Czym dokładnie są systemy rozproszone? Wyobraźmy sobie wiele maszyn, które wykorzystują taką samą mechanikę działania, korzystają z tego samego interfejsu, a także siłą rzeczy obsługują jednocześnie wiele zapytań i procesów. Systemy rozproszone są również definiowane jako grupa dokładnie tych samych procesów, które realizowane są w ramach większej sieci w tym samym czasie, a wynik tych procesów jest widoczny na każdym z osobnych urządzeń w sposób unikatowy. Doskonałymi przykładami systemów rozproszonych są wszelkie systemy obsługujące duże zbiory danych (Big Data) lub świetnie znane analitykom hurtownie danych. Teoretycy architektury informatycznej twierdzą również, że w dzisiejszych czasach, ze względu na ogromny wpływ internetu i sieci, praktycznie każdy system informatyczny jest systemem rozproszonym.Jakie są cechy systemów rozproszonych?
Systemy rozproszone charakteryzują się pewnymi konkretnymi cechami, które oczywiście powinny być również zaimplementowane w przypadku oprogramowania scentralizowanego, jednak nie są one warunkiem koniecznym ich wytworzenia. O jakich cechach mowa? Przede wszystkim:- System rozproszony musi być przenośny w ramach różnych serwerów. Jest to cecha, która umożliwia przede wszystkim redukcję kosztów utrzymywania większych serwerów, ale też umożliwia przeprowadzenie cyklicznej, obowiązkowej konserwacji.
- System rozproszony powinien być wysoce skalowalny. Niewykluczone jest, że system już teraz działa w różnych miejscach na świecie, dlatego dostosowanie przepisów, interfejsu i innych zmiennych pod wiele urządzeń musi być obsługiwane.
- Niektóre części systemu rozproszonego mogą flagować awarię lub chwilowe problemy techniczne, jednak w żadnym wypadku nie powinno to zaważyć na paraliżu całego systemu rozproszonego. Pomimo chwilowych problemów reszta architektury, niezwiązana z tym konkretnym obszarem powinna funkcjonować prawidłowo.
- Otwartość na dodatkowe funkcjonalności – System rozproszony jest zbudowany na zasadzie modułów, co sprzyja dalszemu rozwojowi oprogramowania.