Sr-1-wyk-1.0-Slajd33
Architektura wielowarstwowa
Serwery bardzo często pełnią rolę klientów odwołując się do innych usług. Można więc rozpatrywać budowę złożonego systemu rozproszonego jako architekturę wielowarstwową. Bardzo popularny jest model trójwarstwowy, w którym wyróżnia się serwer aplikacji implementujący logikę aplikacji i serwer baz danych zajmujący się już tylko składowaniem danych. Serwer aplikacji w takim modelu jest klientem serwera baz danych. Użytkownicy końcowi natomiast kierują swoje żądania tylko do serwera aplikacji. Wydzielenie serwera baz danych potencjalnie pozwala na jego podmianę bez konieczności zmiany kodu w aplikacjach klienckich.
Poszczególne warstwy oprogramowania architektury wielowarstwowej mogą być instalowane i uruchamiane na różnych komputerach, co jest naturalnym przejściem do systemów rozproszonych. Mówi się tu o rozproszeniu pionowym (ang. vertical distribution ). W praktyce jednak znacznie istotniejsze jest rozproszenie poziome (ang. horizontal distribution ), które oznacza, że rozproszeniu podlegają części składowe poszczególnych warstw. W przypadku baz danych np. może oznaczać to rozmieszczenie części danych na różnych serwerach. W efekcie uzyskujemy możliwość współbieżnego przetwarzania danych przez różne serwery, równoważąc w ten sposób obciążenie. Rozproszenie poziome może być też realizowane w formie zwielokrotnienia tych samych danych (usług) na wielu serwerach.
Rozproszenie może również dotyczyć klientów. W przypadku prostych aplikacji współpraca klientów może nawet nie wymagać obecności serwera lub jego funkcje zostaną ograniczone do lokalizacji pozostałych klientów. Mówimy w tym przypadku o rozproszeniu partnerskim (ang. peer-to-peer distribution ).