Nowoczesne komputery komputerowe i sieci lokalne mają albo peer-to-peer (gdy wszystkie węzły są bezpośrednio połączone i równe), albo hierarchiczną strukturę, z których jedną jest architektura klient-serwer. Pomysł zorganizowania takiego modelu opiera się na zrozumieniu różnic między klientem a serwerem oraz współużytkowaniu zasobów.
Treść artykułu
- Porównanie
- Tabela
Serwer - komputer obsługujący inne komputery w sieci i zapewniający im zasoby do rozwiązywania określonych problemów.
Klient - komputer, który korzysta z zasobów serwera i zapewnia użytkownikowi możliwość interakcji z systemem i siecią.
Ten sam schemat jest stosowany podczas organizowania aplikacji sieciowych, tylko części serwerowe i klienckie oprogramowania działają jako główne węzły.
Porównanie
Możesz zwizualizować ten model interakcji, przywołując programy i gry dla wielu użytkowników: uruchamiamy aplikację kliencką na naszym urządzeniu i wyświetlamy farmę, czołgi lub własną galerię zdjęć w Dropbox na ekranie. Jeśli nie ma połączenia z siecią globalną lub lokalną (w zależności od lokalizacji), nie możesz karmić krów i walczyć w zespole: wszystkie pliki i dane są przechowywane na serwerze.
ReklamaW małej sieci domowej lub biurowej zbudowanej zgodnie z modelem hierarchicznym różnica między klientem a serwerem może leżeć wyłącznie w płaszczyźnie oprogramowania. Pierwszy wysyła żądania, drugi przetwarza je i zwraca wynik; wszystkie procesy są przeprowadzane za pośrednictwem aplikacji zainstalowanych na komputerach. Technicznie rzecz biorąc, maszyny mogą być dowolne, jeśli oprogramowanie nie wymaga wysokiego poziomu wydajności komponentów. Do wykonywania zadań wymagających dużej ilości zasobów jako serwer służy potężny komputer, a stacja robocza powinna być przyjazna dla użytkownika i zapewniać kanały komunikacji.
W przypadku komputerów, które pełnią role serwerów w sieci z dużą liczbą klientów, sprzęt jest zwykle wzmocniony kilkoma macierzami dysków o wysokiej prędkości odczytu i zapisu. Ponadto maszyny te są wyposażone w maksymalną możliwą ilość pamięci RAM. Ale urządzenia peryferyjne są dla nich zbędne: monitory, klawiatury, myszy, systemy audio, ze względu na brak bezpośredniego kontaktu z użytkownikiem, są po prostu wykluczone z systemu.
Jaka jest zatem funkcjonalna różnica między klientem a serwerem? Pierwszy inicjuje działanie oprogramowania (z udziałem użytkownika lub bez niego), drugi oczekuje od niego żądania. Klient zna pełny adres serwera i sposób uzyskania do niego dostępu, a informacje o kliencie otrzymuje po rozpoczęciu interakcji. Stacje robocze można wyłączyć zgodnie z harmonogramem lub na żądanie użytkownika, podczas gdy serwer PC zawsze działa (lub gdy aplikacja serwera jest uruchomiona). Brak działania jednego z klientów nie wpłynie na nic, a awaria sprzętu serwerowego oznacza, że usługa jest niedostępna dla wszystkich podłączonych do niego węzłów sieciowych.
do treści ↑Tabela
Klient | Serwer |
Wysyła żądania do serwera przez sieć | Odbiera żądania, przetwarza i zwraca wynik do klienta |
Zainstalowane oprogramowanie klienckie | Zainstalowane oprogramowanie serwera |
Wymagania sprzętowe systemu są minimalne. | W zależności od liczby klientów i złożoności zadań wymaga odpowiedniej wydajności |
Współdziała bezpośrednio z użytkownikiem | Nie wchodzi w interakcje z użytkownikiem, dlatego może nie mieć urządzeń peryferyjnych |
Może dowolnie włączać i wyłączać | Zawsze działa, gdy potrzebna jest obsługa klienta |
Sposób dostępu do serwera i jego adresu są znane z góry | Pobiera informacje o klientach z żądania |