Définition - Que signifie l'architecture client / serveur ?
L'architecture client / serveur est un modèle informatique dans lequel plusieurs composants travaillent dans des rôles strictement définis pour communiquer. Le serveur héberge, fournit et gère la plupart des ressources et services à consommer par le client. Ce type d'architecture de ressources partagées comporte un ou plusieurs ordinateurs clients connectés à un serveur central via une connexion réseau ou Internet.
L'architecture client / serveur est également connue sous le nom de modèle informatique de mise en réseau ou de réseau client / serveur, car toutes les demandes et services sont fournis sur un réseau. Il est considéré comme une forme de système informatique distribué, car les composants font leur travail indépendamment les uns des autres.
Definir Tech explique l'architecture client / serveur
Dans une architecture client / serveur, le serveur agit en tant que producteur et le client agit en tant que consommateur. Le serveur héberge et fournit des services haut de gamme à forte intensité de calcul au client en demande. Ces services peuvent inclure l'accès aux applications, le stockage, le partage de fichiers, l'accès à l'imprimante et / ou l'accès direct à la puissance de calcul brute du serveur.
L'architecture client / serveur fonctionne lorsque l'ordinateur client envoie une demande de ressource ou de processus au serveur via la connexion réseau, qui est ensuite traitée et remise au client. Un ordinateur serveur peut gérer plusieurs clients simultanément, tandis qu'un client peut être connecté à plusieurs serveurs à la fois, chacun fournissant un ensemble différent de services.
Le modèle client / serveur tel qu'il a évolué a plutôt bien servi ce que certains appellent le Web 2.0, où Internet est lentement devenu un espace virtuel fonctionnel pour les utilisateurs. Il a fourni un modèle établi et prévisible de la façon dont les sessions des utilisateurs se dérouleraient et comment les fournisseurs fournissaient des ressources en fonction des demandes de paquets de données et d'autres ressources.
Exemple de communication client / serveur
Voici un exemple du fonctionnement des communications client / serveur. Dans une utilisation moyenne d'un navigateur pour accéder à un site Web côté serveur, l'utilisateur ou le client entre l'URL. Le serveur DNS recherche l'adresse IP du serveur Web et la donne au navigateur. Le navigateur génère une requête HTTP ou HTTPS et le serveur, en tant que producteur, envoie les fichiers. Le client, en tant que consommateur, les reçoit, puis envoie généralement des demandes de suivi.
Bien que ce modèle fonctionne techniquement pour un certain nombre de processus similaires, il présente certains inconvénients. Au fil du temps, une alternative appelée modélisation peer-to-peer ou P2P est apparue, que beaucoup jugent supérieure à certains égards aux modèles client / serveur traditionnels, en particulier en termes de gestion des défis spécifiques où les communications sont plus évoluées.
Problèmes avec les modèles client / serveur
L'un des plus gros problèmes avec une configuration client / serveur traditionnelle est la nature des charges de travail imprévisibles.
En définissant les systèmes client / serveur comme des systèmes qui évoluent verticalement et utilisent des magasins de données centraux, certains analystes estiment que le peer-to-peer est plus agile et polyvalent pour s'assurer que les charges de travail imprévisibles sont bien gérées. Les experts parlent de choses comme la redondance et les zones de disponibilité et le basculement comme un moyen de maintenir le bon fonctionnement des systèmes d'entreprise en ligne, malgré les changements de la demande ou d'autres problèmes.
Par exemple, un autre problème majeur est l'utilité d'une attaque par déni de service distribué (DDoS). Dans ce type d'attaque, une activité client incontrôlable submerge un serveur. Ceux qui regardent Internet il y a quelques décennies soulignent qu'il était assez facile d'inonder un site avec une attaque DDoS parce que le modèle client / serveur moyen n'était pas configuré pour des seuils supérieurs à un certain trafic.
Les systèmes peer-to-peer peuvent résoudre nombre de ces problèmes et sécuriser les systèmes contre les attaques DDoS et les cyberattaques similaires. Le peer-to-peer est également utile pour gérer certains types d'autres perturbations basées sur un point de défaillance unique.
Avec l'émergence de systèmes décentralisés et distribués, par exemple, les technologies de registres immuables blockchain, les systèmes peer-to-peer sont de plus en plus populaires et commencent à remplacer les architectures client / serveur.