oreille gauche de la souris: parler échec cognitif et la conception élastique des systèmes distribués

Cliquez sur l'attention InfoQ , Haut du public No.

8:00 technologie de réception petit-déjeuner programmeur

Auteur | Chen Hao

Modifier | Yang Shuang

Cet article est tiré de Chen Hao (de gauche de la souris de l'oreille) frais annuels à partir de geeks de colonne temps App « oreille gauche écoute le vent », est autorisée. Pour lire « L'essence de l'architecture des systèmes distribués », « conception élastique » série, dessin reconnaissance de code à deux dimensions en s'il vous plaît abonnez-vous à lire des colonnes (supports micro paiement canaux).

Je l'ai déjà écrit « L'essence de l'architecture des systèmes distribués » série d'articles, de tous les niveaux de la couche d'affaires des systèmes distribués, la couche middleware, couche de base de données et ainsi introduit l'architecture haute concurrency, l'architecture vivent dans des endroits différents, l'architecture des conteneurs, des services de micro-architecture , l'architecture haute disponibilité, architecture flexible, mais aussi le soi-disant "Gang." Grâce à ce « lien clé », vous pouvez trouver ce que vous voulez, et maîtriser l'utilisation de l'idée générale de chaque architecture des composants pour les systèmes distribués.

Pour vous donner une meilleure compréhension des systèmes distribués dans les prochains mi-parcours, je veux parler de quelques-unes des plus critiques des modèles de conception de systèmes distribués, y compris plusieurs aspects de la tolérance aux pannes, la performance et la gestion.

  • À tolérance de pannes conception appelé conception élastique Où les regards du système distribué à différentes capacités « de tolérance », y compris la tolérance aux pannes (isolement de service, demande d'appel asynchrone idempotence), l'évolutivité (oui / non état du service), la cohérence (compensation des opérations, lourdes test), la capacité à faire face à grand débit (fusible, rétrogradation). On peut voir dans le système pour assurer l'exactitude de la prémisse, la disponibilité du système est au centre de protection élastique de conception.

  • articles de gestion Certains dire la gestion des modèles de conception d'architecture de système distribué, comme zone de passerelle, le mode sidecar, et quelques-uns est désormais populaire, comme le Service Mesh modèles de conception pertinents.

  • articles de design de performance modèle architectural lié parlera de certains cache, CQRS, tables d'index, les files d'attente prioritaires, et d'autres la fragmentation des entreprises.

Ensuite, je crois que vous maîtriserez ces modèles de conception, à la fois pour le déploiement d'un système distribué, le développement d'un module de service distribué, ou développer un nouveau middleware de système distribué, sera bénéfique.

Aujourd'hui est le premier à « chapitre de la conception élastique » « modèles de conception du système distribué » des séries de sensibilisation et de défaut de conception élastique. "

Système de mesure de la disponibilité

Pour la conception de systèmes distribués tolérants aux pannes, également connu sous le Résilience (force élastique) en anglais. Signifie que le système est malsain, ne sonne pas vrai, même dans le cas de la capacité d'erreur de prise est maintenue, supporter, ainsi que la capacité à inverser la tendance dans ce genre d'adversité.

Pour ce faire, une conception, nous avons besoin d'un objectif de conception, ou une ligne de référence à travers la ligne de base ou de la cible pour guider notre conception, ou sous la direction il n'y a pas de conception de base claire deviendra très ambiguë et ne peut pas être nous ne pouvons pas prédire ou mesure. Testabilité et l'évolutivité de la conception du logiciel est une chose très importante.

Nous savons que la tolérance aux pannes principalement à la disponibilité, alors, est de savoir comment on calcule la disponibilité d'un système do? Voici une formule utilisée dans un secteur industriel:

Parmi eux,

  • MTTF est le temps moyen de défaillance, le temps moyen avant défaillance, qui est, combien de temps pour exécuter le système des défauts se produisent en moyenne normaux qu'une seule fois. La plus grande fiabilité du système, plus la MTTF. (Note: Littéralement, le mot échec semble avoir, mais le fait est le temps de fonctionnement.)

  • MTTR est temps de récupération moyenne, le temps moyen de réparation que l'échec de cette période de temps à émerger réparer la faute, cette fois aussi courte que possible.

Cette formule consiste à calculer la disponibilité du système, qui est, nous le disons souvent, numéro 9, comme indiqué dans le tableau ci-dessous.

Selon la formule ci-dessus, afin d'améliorer la facilité d'utilisation, nous augmentons soit le temps de défaillance du système, une défaillance du système ou de réduire le temps de récupération.

Cependant, nous devons comprendre que nous courons un système distribué pour un système distribué, il ne doit pas la faute à tout simplement trop difficile.

Cause du dysfonctionnement

Pour être honnête, il est difficile de calculer combien nous avons conçu une disponibilité du système, parce que les facteurs qui influent sur un système est trop, en plus de la conception de logiciels, ainsi que le matériel, ainsi que des services tiers (tels que Telecom China Unicom à large bande SLA), bien sûr, y compris la « équipe de construction des pelles. »

Ainsi, tel que défini dans le SLA, ce n'est pas seulement un indicateur technique, mais un contrat de service ou d'un contrat entre le fournisseur et l'utilisateur. Cette pièce de qualité industrielle, comme l'avion, l'avion est faite très bien, il y a beaucoup d'équipements très spécialisés, des outils, des processus, la gestion et l'exploitation.

En bref, SLA plusieurs 9 est en mesure de continuer à fournir le niveau de service disponible. Cependant, l'industrie, le service ne sera pas disponible en deux facteurs: l'un est prévu, on est non planifié.

Raisons d'arrêts non planifiés. Le chiffre provient de haute disponibilité des concepts et les meilleures pratiques d'Oracle.

La raison des temps d'arrêt prévu. Le chiffre provient de haute disponibilité des concepts et les meilleures pratiques d'Oracle.

On peut voir en bas les principales raisons suivantes.

imprévu

  • défaut au niveau du système, y compris l'hôte, le système d'exploitation, middleware, bases de données, les réseaux d'alimentation, et des dispositifs périphériques.

  • Les données et les échecs intermédiaires, y compris une mauvaise utilisation du personnel, défaillance du disque dur, le chaos de données.

  • Il y a des catastrophes naturelles, la destruction de l'homme, ainsi que des problèmes d'approvisionnement.

prévue

  • Les tâches quotidiennes: sauvegarde, planification des capacités, l'utilisateur et la gestion de la sécurité, back-end des applications de traitement par lots.

  • Exploitation et entretien liés à: la maintenance de base de données, la maintenance des applications, middleware d'entretien, la maintenance du système d'exploitation, la maintenance du réseau.

  • Mise à jour: bases de données connexes, applications, middleware, les systèmes d'exploitation, réseaux, y compris les mises à niveau matérielles.

Nous leur donnons à leurs propres classes.

  • problèmes de réseau . problèmes de liaison réseau, la congestion de la bande passante réseau ......

  • Problèmes de performances . Base de données SQL lente, Java complète GC, disque dur IO est trop grande, haute CPU monté en flèche, de mémoire ......

  • problème de sécurité . Les attaques de réseau, telles que DDoS et ainsi de suite.

  • Fonctionnement et problèmes d'entretien . Le système est toujours sont ajustés constamment mis à jour et l'architecture modifiée, pour surveiller le problème ......

  • gestion . Non Taquiner les dépendances des services essentiels et des services, des systèmes de contrôle et des informations opérationnelles ne sont pas synchronisées ......

  • Problèmes matériels . disque dur est endommagé, les problèmes de carte réseau, problèmes de commutation, vers le bas de la pièce, problème pelle ......

  • L'échec est inévitable

    Si vous avez lu mon écrit « L'essence de l'architecture de systèmes distribués » et « Dépannage » deux séries d'articles, vous saurez gérer un système distribué est une chose très difficile. Pour grande échelle des systèmes distribués, l'échec est essentiellement normale, et même certains ne savent tout simplement pas où vous aller mal.

    En termes d'aujourd'hui, un système de défaut distribué a été très compliqué, parce que l'échec est distribué, le style domino. Comme je l'ai présenté dans « L'essence de l'architecture des systèmes distribués » dans ce chiffre.

    Si vous êtes sur une plate-forme cloud, ou en utilisant un « micro-service », le visage d'un grand nombre de dispositifs IdO ainsi que le trafic utilisateur n'est pas contrôlé, alors la défaillance du système sera plus complexe et la métamorphose. En raison des facteurs ci-dessus ajouter à la complexité du système.

    Nous sommes pleinement conscients des deux choses suivantes.

    • L'échec est normal, mais aussi commune .

    • Les échecs sont imprévisibles sursauts, mais très difficile .

    Ainsi, Amazon AWS se concentrera sur la conception pour non-respect de ses sept Principe de conception. Cela nous dit, ne pas essayer d'éviter l'échec, mais de traiter avec le code de défaillance en fonction normale de faire l'architecture d'écriture dans le code.

    Parce que nous voulons faire la chose est d'essayer tous les moyens pour réduire le temps de réparation insuffisance MTTR--.

    Voilà pourquoi nous avons mis cette conception est appelée le tronçon (Résilience).

    • D'une part, dans de bonnes circonstances, cette chose pour nos utilisateurs et le fonctionnement interne et la maintenance est complètement transparent, le système réparé automatiquement sans intervention humaine.

    • D'autre part, si pas réparé, le système peut faire pour se protéger, et ne pas laisser la situation empirer.

    Ceci est appelé « élasticité » - ou rétrogradé promu. Il me fait penser à trois tués dans les compétences Zhao - « peut être réengagé est les vrais instruments utilisés », ha, ha.

    résumé

    Eh bien, le contenu d'aujourd'hui ici. Je crois que, grâce à l'étude d'aujourd'hui, vous devriez déjà comprendre le but réel de la conception élastique, et la disponibilité du système et de défaut des indicateurs pour mesurer diverses raisons une certaine compréhension. Le prochain article, nous allons commencer à énumérer quelques-uns des modèles de conception pertinents.

    Enfin, je voudrais entendre dans la conception d'un système distribué, définissez comment les objectifs de haute disponibilité? En cas de difficultés dans la mise en uvre? Quel genre de fosse à gradins? Comment traitez-vous?

    Ceci est le répertoire « systèmes distribués design patterns » série d'articles, je l'espère, vous pouvez trouver ce qui vous intéresse dans cette liste. Abonnez-vous à Geeks de temps « oreille gauche écoute au vent » colonne pour lire l'article, abonnez-vous à une lecture permanente.

    • articles de conception extensible de « défaut de conception compréhension et élastique »

    • Extensibles articles de conception de « conception d'isolement »

    • Extensibles articles de conception de « conception de communication asynchrone »

    • Extensibles articles de conception de « Design idempotence »

    • « Statut du service » des articles de conception élastique

    • Extensibles articles de conception de « transactions » compensation

    • Extensibles articles de conception de « Retry » Conception

    • Extensibles articles de conception de « conception fusible »

    • Extensibles articles de conception de « limiter la conception »

    • articles de conception extensible de "downgrade Design"

    • articles de conception extensible de « Résumé de conception élastique »

    Comment puis-je inscrire?

    Première méthode:

    appuyez sur la figure code bidimensionnel, identification de paiement micro-canal, abonnement immédiatement.

    Prix de l'abonnement annuel de 199 yuans, le nouvel enregistrement utilisateur Réussissez 30 yuans une enveloppe rouge, peut être payé immédiatement.

    Méthode Deux:

    Cliquez sur Lire l'original Télécharger le « Geek Time » App, inscrivez-vous et connectez-vous, les nouveaux arrivants reçoivent 30 yuans une enveloppe rouge.

    Entrez le « système de recommandation 36 de style » de la colonne Carousel Accueil Figure ou page pour terminer l'abonnement.

    Casque de surface avec la façon? Après les médias étrangers disent que l'expérience pour commencer
    Précédent
    le vrai nom réseau au drame « hors de contrôle » l'innocence, l'interprétation de la force Jia Jinghui out bandit stupide
    Prochain
    La TGA "The Legend of Zelda: The Breath of Wilderness" dire ce que
    « NCT » « nouvelles » 190326 NCT RÊVE vaste monde ouvert Illustrated a beaucoup à offrir ...... rêve Allons!
    Redéfinir le PC? HP Folio Specter expérience des médias étrangers pour commencer
    R-rated film « Nation Assassinat » quand les gens mis effondrement, la mort vient le jour ah
    Spark version 2.3 blockbuster, Tencent cadre photo haute performance LKImageKit open source, version Spring Boot 2.0.0 | Q Nouvelles
    Kunming gars à l'enfant d'arrêt goélands de capture, contre être appelé trente ou quarante familles du même village assiégea
    Huang Yiqing « Pa » tant d'étoiles, juste positif Jie: Mad Dog ne joue pas
    cérémonie de remise des prix 2016 TGA terminé « Watch pionnier » a remporté la meilleure année!
    190326 Wang Yuan « Je suis un auteur-compositeur, » beau cuir de tigre adulte mode de visite ainsi que le corps du groupe à exploser
    Avant l'étape Google Pixel 3, Chronicles Laiqiao Nexus / Pixel téléphone mobile
    Ceux qui ont des scores élevés drame anglo-américain en 2018 nous passons le cresson!
    Yang Mi après le divorce de se concentrer sur le travail, battre la jambe sweep jeu d'action de boxe beau, jambes baguettes oeil d'aspiration