Caractéristiques distribuées, architecture, types, objectifs, applications

Caractéristiques distribuées, architecture, types, objectifs, applications

Les Systèmes distribués Ce sont des pièces logicielles qui servent à coordonner les actions de plusieurs ordinateurs. Cette coordination est obtenue par l'échange de messages, c'est-à-dire avec des données qui transmettent des informations.

Les systèmes distribués nécessitent des composants simultanés, un réseau de communication et un mécanisme de synchronisation. Ils permettent de partager des ressources, y compris des logiciels, par des systèmes connectés à un réseau. Par conséquent, le système est basé sur un réseau qui connecte les ordinateurs et gère les messages.

A et B (systèmes distribués). B (système parallèle). Mim / cc by-sa (https: // createCommons.Org / licences / by-sa / 3.0)

L'informatique distribuée est un domaine de l'informatique responsable de l'analyse des systèmes distribués. Le programme informatique exécuté dans un système distribué est appelé programme distribué.

Dans un contexte où des centaines ou des milliers d'ordinateurs peuvent exister, ce qui est une proportion courante dans les grandes sociétés Internet, il est très courant qu'il existe des échecs des composants, que ce soit le matériel, le réseau, les disques, etc., Et le système doit être prêt à les affronter à tout moment.

[TOC]

Distribution de données

La distribution est essentielle pour gérer de très grands conglomérats de données. Il est nécessaire d'atteindre l'évolutivité, qui sont les moyens de maintenir des performances stables lorsque les grappes de données se développent en ajoutant de nouvelles ressources au système.

D'un autre côté, la distribution présente une série de problèmes techniques qui font la conception et la mise en œuvre d'un stockage et un calcul distribués. Un point à prendre en compte est le risque d'échecs possibles.

Caractéristiques des systèmes distribués

A et B (systèmes distribués). B (système parallèle). Mim / cc by-sa (https: // createCommons.Org / licences / by-sa / 3.0)

Compatibilité

Les appareils peuvent fonctionner avec différents systèmes d'exploitation. Cela ne les empêche pas de toujours offrir les mêmes services aux utilisateurs. Pour cette raison, tous les appareils connectés sont compatibles entre eux.

Un autre problème fondamental est la conception de logiciels, car cela est également compatible avec tous les systèmes et utilisateurs qui sont sur chaque ordinateur.

Tolérance aux défauts

Étant un seul réseau avec de nombreux ordinateurs, si l'un de ses composants échoue, d'autres peuvent continuer à remplir pleinement leur fonction, évitant rapidement les erreurs.

Pour cette raison, les systèmes distribués fournissent généralement beaucoup de confiance lorsqu'ils travaillent avec eux, car il est assez rare que le système échoue complètement, car les tâches ne résident pas dans un seul appareil, mais dans des équipements différents.

Middleware et API

Différents processeurs utilisent un middleware de distribution, aidant à partager différentes ressources et capacités pour fournir aux utilisateurs un réseau cohérent et intégré. Il offre également aux applications une série de services, tels que la sécurité et la récupération de défaillance.

Actuellement, des interfaces de programmation d'applications (API) sont entendues, qui fonctionnent comme une porte de liaison lorsque les applications peuvent communiquer. Les applications n'ont pas besoin de savoir rien des autres applications, sauf leur API.

Il peut vous servir: avantages et inconvénients sur Internet

Architecture

Architecture client-serveur

Un ordinateur particulier appelé Server peut effectuer certaines tâches, qui sont appelées services. Par exemple, offrez des fichiers via le réseau, possibilité d'exécuter certaines commandes ou de rouler des données à une imprimante. Le client est l'ordinateur qui demande les services.

L'ordinateur principalement connu pour le service qu'il fournit peut être appelé serveur d'impression, serveur de fichiers, etc.

Architecture de l'égalité à l'égalité (peer-to-peer)

Suppose que chaque ordinateur a des capacités similaires et qu'aucune machine n'est consacrée à servir d'autres. Un exemple de ceci est un ensemble de micro-ordinateurs dans un petit bureau.

Le réseau permet aux gens d'accéder aux fichiers d'autres et d'envoyer des e-mails, mais aucun ordinateur ne fournit un ensemble spécifique de services.

Architectures de niveau divers

Pour certains services, il peut être logique de faire une connectivité hiérarchique. Par exemple:

  • Un serveur lors de l'exécution de vos tâches peut contacter un autre serveur de différents types
  • L'architecture client-serveur est une architecture à deux niveaux.

Architecture de groupe de processeurs

Un système d'exploitation pourrait démarrer automatiquement les processus d'ordinateurs inactifs et même migrer les processus vers des systèmes avec un plus grand nombre de cycles disponibles CPU. Dans d'autres cas, un utilisateur peut démarrer ou déplacer des processus manuellement dans les systèmes disponibles.

Types de systèmes distribués

Calcul en cluster

Il s'agit d'un ensemble d'ordinateurs similaires connectés via un réseau local à grande vitesse. Il est fréquemment utilisé pour la programmation parallèle, où un seul programme informatique intensif est exécuté en parallèle sur plusieurs ordinateurs.

Chaque cluster se compose d'un ensemble de nœuds informatiques qui sont surveillés et gérés par un ou plusieurs nœuds appelés enseignants.

Informatique réseau

Il se compose de nœuds avec des différences marquées dans le matériel et la technologie rouges. La tendance actuelle à avoir une configuration spécifique de nœuds pour certaines tâches a conduit à une plus grande diversité, ce qui est le plus fréquent de l'informatique réseau.

Cloud computing

Il s'agit d'un ensemble de ressources virtualisées hébergées dans le centre de données d'un fournisseur de cloud. Les clients peuvent établir une infrastructure virtualisée pour profiter d'une variété de services cloud.

Pour l'utilisateur, il semble qu'il loue son propre ordinateur exclusif. Cependant, en réalité, il est susceptible de le partager avec d'autres clients. Il en va de même pour le stockage virtuel.

Ces ressources virtualisées peuvent être configurées dynamiquement, permettant ainsi l'évolutivité. Si plus de ressources informatiques sont nécessaires, le système peut acquérir plus.

Peut vous servir: Systèmes experts: histoire, caractéristiques, avantages, inconvénients

Objectifs

Partager des ressources

Qu'il s'agisse d'installations de stockage, de fichiers de données, de services ou de réseaux, vous pouvez partager ces ressources entre les applications, par une économie simple.

Il est beaucoup moins cher d'avoir une installation de stockage partagée entre plusieurs applications, que d'avoir à acheter et à maintenir le stockage pour chacun séparément.

Abstraction

Pour cacher que les processus et les ressources sont distribués dans plusieurs ordinateurs, éventuellement diffusés géographiquement. C'est-à-dire que les processus et les ressources sont abstraits de l'utilisateur.

Ouverture

Indique essentiellement qu'un système distribué est érigé avec des éléments qui peuvent être facilement intégrés dans d'autres systèmes. Réalisant les règles normalisées, tout processus avec cette interface peut communiquer avec un autre processus avec la même interface.

Interopérabilité et portabilité

Il fait référence lorsque deux systèmes de fabricants différents peuvent travailler ensemble. La portabilité détermine dans quelle mesure une application faite pour le système A peut fonctionner dans le système B sans modifications.

Évolutivité

Il faut quand il y a une augmentation des utilisateurs qui ont besoin de plus de ressources. Un bon exemple est l'augmentation du public Netflix tous les vendredis soirs.

Cela signifie ajouter dynamiquement plus de ressources, comme l'augmentation de la capacité du réseau, permettant une plus grande transmission vidéo et la réduire une fois que la consommation a normalisé.

Applications

Machine virtuelle Erlag

Le progiciel Lyme est basé sur Erlang et offre une alternative à lamp. Shmuel Csaba Otto Tranian / CC BY-SA (https: // CreativeCommons.Org / licences / by-sa / 3.0)

Erlang est un langage fonctionnel qui a une grande sémantique pour la concurrence, la distribution et la tolérance des échecs. Une machine Erlang virtuelle gère la distribution d'une application Erlag.

Ce modèle fonctionne avec de nombreux processus isolés, le tout avec la possibilité de communiquer entre eux via des messages incorporés de messages.

La machine virtuelle Erlang peut être connectée à d'autres machines virtuelles qui sont à différents endroits. Cet essaim de machines virtuelles exécute une seule application, gérant les échecs d'une machine programmant son exécution dans un autre nœud.

Bittorrent

Fonctionnement du réseau BitTorrent. Mrjavi / cc by-sa (https: // CreativeCommons.Org / licences / by-sa / 4.0)

C'est l'un des protocoles les plus utilisés pour transférer des fichiers importants sur le Web. L'idée principale est de faciliter le transfert de fichiers entre différentes paires sur le réseau sans avoir à passer par un serveur principal.

Lorsque vous utilisez un client BitTorrent, vous pouvez vous connecter à plusieurs ordinateurs dans le monde pour télécharger un fichier. Un ordinateur qui agit comme un coordinateur aide à afficher les nœuds du réseau qui ont le fichier souhaité.

BitTorrent vous permet de loger volontairement des fichiers et de les télécharger à d'autres utilisateurs qui les souhaitent. Il est si populaire car c'était le premier du genre à proposer des incitations à contribuer au réseau.

Il peut vous servir: Thermoelectric Central

avantage

- Plus de nœuds peuvent être facilement ajoutés au système distribué, c'est-à-dire qu'il peut être grimpé comme nécessaire.

- Tous les nœuds du système distribué sont connectés les uns aux autres. Par conséquent, chacun des nœuds peut facilement partager des données avec les autres nœuds.

- Des ressources telles que les imprimantes peuvent être partagées avec plusieurs nœuds au lieu d'en restreindre un.

- La faute d'un nœud ne conduit pas à la défaillance de l'ensemble du système distribué. Les autres nœuds peuvent encore communiquer entre eux.

Désavantages

- Certains messages et données peuvent être perdus dans le réseau lorsqu'ils passent d'un nœud à un autre.

- Il est difficile de fournir une sécurité adéquate dans les systèmes distribués car les nœuds et les connexions doivent être assurés.

- Une surcharge sur le réseau peut se produire si tous les nœuds du système distribué essaient d'envoyer des données en même temps.

- La base de données connectée aux systèmes distribués est assez compliquée et difficile à gérer par rapport à un seul système utilisateur.

Exemples de systèmes distribués

Les systèmes distribués peuvent être utilisés dans un grand nombre de cas, tels que les systèmes bancaires électroniques, les jeux multijoueurs de masse et les réseaux de capteurs.

Stackpath

Utilisez un système distribué particulièrement important pour augmenter votre service de réseau de livraison de contenu. Chacun de ses points de présence (POP) a des nœuds, formant un système distribué dans le monde entier.

StackPath stocke le contenu demandé plus récemment et plus fréquemment dans les endroits les plus proches du site utilisé.

Lors de l'interconnexion des ordinateurs virtuels, en plus de profiter de la vitesse et de l'agilité de l'informatique de la pointe, le système peut gérer très rapidement des milliers d'applications simultanées.

l'Internet

C'est le plus grand système distribué au monde. Tout utilisateur a l'impression qu'il s'agissait d'un système unique, bien qu'il soit composé de millions d'ordinateurs.

Grâce au concept d'abstraction, il n'y a aucune idée de l'endroit où les données sont stockées, combien de serveurs sont impliqués ou comment les informations du navigateur arrivent. Le navigateur dissout la complexité d'Internet.

Cela s'applique également aux applications telles que le courrier électronique Gmail ou toute autre application qui peut être utilisée. Toutes les personnes interagissent quotidiennement avec les applications distribuées.

Les références

  1. Paul Krzyzanowski (2018). Systèmes distribués. Pris de: cs.Rutgers.Édu.
  2. Catherine Paganini (2019). Premièrement: les systèmes distribués et l'informatique native cloud. La nouvelle pile. Pris de: Thenewstack.Io.
  3. Université internationale de Valence (2020). Systèmes distribués, caractéristiques et classification. Tiré de: Universityviu.com.
  4. David Meador (2018). Systèmes distribués. Point de tutoriels. Tiré de: TutorialSpoint.com.
  5. Robert Gibb (2019). Qu'est-ce qu'un système distribué? Tiré de: blog.Stackpath.com.
  6. Stanislav Kozlovski (2018). Pour approfondir l'introduction aux systèmes distribués. Camp de code gratuit. Tiré de: freecodecamp.org.