Sr-8-wyk-1.0-Slajd3
Po co zwielokrotniać?
Zwielokrotnianie może być wykorzystane do zwiększenia niezawodności systemu rozproszonego. Serwer, który ulega awarii może być zastąpiony innym, który jest dostępny, a który przechowuje te same dane. Co więcej, zmiana serwera w przypadku awarii może się dokonywać w sposób całkowicie przezroczysty dla użytkownika. Repliki można też wykorzystywać do maskowania błędów poprzednich zapisów. Mając 3 kopie i odczytując z nich wszystkich, można stwierdzić różnice i maskować błąd jednego serwera.
Zwiększanie efektywności przetwarzania może być rozpatrywane w dwóch kontekstach. Przy wzrastającej liczbie żądań pojedynczy serwer może być niewystarczający. Należy w takiej sytuacji system skalować w sensie liczbowym, wprowadzając serwery-repliki. Umożliwi to współbieżne wykorzystanie mocy obliczeniowych tych jednostek przez wielu klientów. Oczywiście należy zadbać, aby w miarę możliwości obciążenie serwerów było równomierne.
Z drugiej strony systemy rozproszone mogą wymagać skalowania w sensie geograficznym, co może zaowocować zbliżeniem się serwerów do użytkowników końcowych. W efekcie będą oni obserwować mniejsze opóźnienia komunikacyjne. Trzeba jednak pamiętać, że serwery muszą utrzymywać dane w stanie spójnym. Jeżeli są odległe od siebie, to koszty komunikacji związanej z synchronizacją danych będą odpowiednio wyższe, a w skrajnym przypadku mogą przekraczać zyski z lokalizacji bliżej klienta.