Client / Server-Architektur

Definition - Was bedeutet Client / Server-Architektur?

Die Client / Server-Architektur ist ein Computermodell, bei dem mehrere Komponenten in genau definierten Rollen für die Kommunikation arbeiten. Der Server hostet, liefert und verwaltet die meisten Ressourcen und Dienste, die vom Client verbraucht werden sollen. Bei dieser Art von Architektur für gemeinsam genutzte Ressourcen sind ein oder mehrere Clientcomputer über ein Netzwerk oder eine Internetverbindung mit einem zentralen Server verbunden.

Die Client / Server-Architektur wird auch als Netzwerkcomputermodell oder Client / Server-Netzwerk bezeichnet, da alle Anforderungen und Dienste über ein Netzwerk bereitgestellt werden. Es wird als eine Form eines verteilten Computersystems angesehen, da die Komponenten ihre Arbeit unabhängig voneinander ausführen.

Technische.me erklärt die Client / Server-Architektur

In einer Client / Server-Architektur fungiert der Server als Produzent und der Client als Konsument. Der Server beherbergt und bietet dem Client bei Bedarf rechenintensive High-End-Dienste. Diese Dienste können Anwendungszugriff, Speicherung, Dateifreigabe, Druckerzugriff und / oder direkten Zugriff auf die Raw-Rechenleistung des Servers umfassen.

Die Client / Server-Architektur funktioniert, wenn der Client-Computer über die Netzwerkverbindung eine Ressourcen- oder Prozessanforderung an den Server sendet, die dann verarbeitet und an den Client übermittelt wird. Ein Servercomputer kann mehrere Clients gleichzeitig verwalten, während ein Client gleichzeitig mit mehreren Servern verbunden sein kann, die jeweils unterschiedliche Dienste bereitstellen.

Das Client / Server-Modell, wie es sich entwickelte, diente ziemlich gut für das, was manche als Web 2.0 bezeichnen, wo das Internet langsam zu einem funktionierenden virtuellen Raum für Benutzer wurde. Es lieferte ein etabliertes und vorhersehbares Modell für den Ablauf von Benutzersitzungen und die Bereitstellung von Ressourcen durch Anbieter basierend auf Anforderungen für Datenpakete und andere Ressourcen.

Beispiel für Client / Server-Kommunikation

Hier ist ein Beispiel für die Funktionsweise der Client / Server-Kommunikation. Bei einer durchschnittlichen Verwendung eines Browsers für den Zugriff auf eine serverseitige Website gibt der Benutzer oder Client die URL ein. Der DNS-Server sucht nach der IP-Adresse des Webservers und gibt sie an den Browser weiter. Der Browser generiert eine HTTP- oder HTTPS-Anforderung, und der Server als Produzent sendet die Dateien. Der Kunde als Verbraucher empfängt sie und sendet dann in der Regel Folgeanfragen.

Obwohl dieses Modell technisch für eine beliebige Anzahl ähnlicher Prozesse funktioniert, weist es einige Nachteile auf. Im Laufe der Zeit hat sich eine Alternative namens Peer-to-Peer- oder P2P-Modellierung herausgebildet, die nach Ansicht vieler den herkömmlichen Client / Server-Modellen in gewisser Weise überlegen ist, insbesondere im Hinblick auf die Handhabung spezifischer Herausforderungen, bei denen die Kommunikation weiterentwickelt wird.

Probleme mit Client / Server-Modellen

Eines der größten Probleme bei einem herkömmlichen Client / Server-Setup ist die Art unvorhersehbarer Workloads.

Bei der Definition von Client / Server-Systemen als Systeme, die vertikal skaliert werden und zentrale Datenspeicher verwenden, sind einige Analysten der Ansicht, dass Peer-to-Peer agiler und vielseitiger ist, um sicherzustellen, dass unvorhersehbare Workloads gut verwaltet werden. Experten sprechen über Redundanz- und Verfügbarkeitszonen sowie Failover, um den reibungslosen Betrieb von Online-Geschäftssystemen trotz Änderungen der Nachfrage oder anderer Probleme zu gewährleisten.

Ein weiteres wichtiges Problem ist beispielsweise die Nützlichkeit eines DDoS-Angriffs (Distributed Denial of Service). Bei dieser Art von Angriff überflutet eine außer Kontrolle geratene Clientaktivität einen Server. Diejenigen, die sich vor einigen Jahrzehnten mit dem Internet befassen, weisen darauf hin, dass es ziemlich einfach war, eine Site mit einem DDoS-Angriff zu überfluten, da das durchschnittliche Client / Server-Modell nicht für Schwellenwerte über einem bestimmten Verkehrsaufkommen eingerichtet wurde.

Peer-to-Peer-Systeme können viele dieser Probleme lösen und Systeme gegen DDoS-Angriffe und ähnliche Cyberangriffe schützen. Peer-to-Peer ist auch hilfreich bei der Behandlung einiger anderer Störungen, die auf einem einzelnen Fehlerpunkt basieren.

Mit dem Aufkommen von dezentralen und verteilten Systemen, beispielsweise Blockchain-unveränderlichen Hauptbuchtechnologien, werden Peer-to-Peer-Systeme immer beliebter und beginnen, Client / Server-Architekturen zu ersetzen.