English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

Le nœud en bouteille identifié avant l'arrivée du trafic

Centralité de betweenness

Pour chaque paire de nœuds dans un graphe, il existe un chemin le plus court entre eux. La centralité de betweenness d'un nœud N = la fraction de tous les chemins les plus courts qui passent par N.

Un nœud avec une haute centralité de betweenness se trouve sur le chemin entre de nombreuses autres paires. Si elle ralentit, de nombreuses flux ralentissent. Si elle faillit, de nombreuses flux cassent.

Lecture architecturale : les nœuds à haute centralité de betweenness sont ceux dont chaque examen d'architecture devrait accorder une attention particulière. Ils sont des bouchons, des SPOFs et des composants à capacité en un seul. Ils ont tendance à être :

- Le fournisseur DNS (entre chaque client et chaque service)

- Le proxy d'ingress (entre chaque client et chaque back-end)

- La base de données primaire (entre chaque back-end et chaque lecture)

- Le service d'authentification (entre chaque utilisateur et chaque action autorisée)

Détection sans mesure : la topologie du graphe identifie seuls les nœuds à haute centralité de betweenness. Vous n'avez pas besoin de données de trafic ; vous avez besoin du diagramme d'architecture. Un nœud qui se trouve entre de nombreuses autres paires est critique structurellement.

Consequence opérationnelle : les nœuds à haute centralité de betweenness méritent un investissement disproportionné dans (1) la marge de capacité, (2) la redondance, (3) la visibilité et (4) les plans d'intervention en cas d'incident.

Centralité de betweenness : nœud mis en évidence se trouve sur la plupart des chemins les plus courts

Un système a : 100 clients externes -> 1 DNS -> 1 fournisseur de CDN -> 3 proxies inverses -> 12 instances de back-end -> {1 base de données primaire, 2 nœuds de cache, 5 points de terminaison API externes}. Classez ces classes de nœuds par centralité de betweenness (premier le plus haut) et expliquez pourquoi les deux premières rangées méritent une attention spéciale.

Le plus petit coup coupe la plus petite tranche

Théorème du min-coup en termes simples

Le min-coup entre deux nœuds dans un graphe = le plus petit nombre d'arêtes (ou de nœuds) que vous devez supprimer pour les désconnecter.

Lecture opérationnelle: les bornes de min-coupe limitent le rayon d'action maximal d'un échec. Si le min-coupe entre les "clients" et la "base de données" est de 1 arête (une seule proxy), la perte de cette arête coupe tous les clients de la base de données. Si le min-coupe est de 5, vous devez perdre 5 composants simultanément pour les couper totalement; malchance, mais bornée.

Conception pour le rayon d'action: augmentez le min-coupe à chaque front important. Plusieurs proxies; plusieurs nœuds de cache; plusieurs chemins réseau entre les DC. Chaque ajout augmente le min-coupe de 1.

Le motif de coque en termes de graphes: partitionnez les ressources en sous-graphes séparés qui ne partagent pas de min-coupe les uns avec les autres. Une échec dans un sous-graphe ne peut pas se propager aux autres car les arêtes n'existent pas.

Ensembles de diamètre Définissent la distance de propagation des échecs

Diamètre du graphe = la plus longue plus courte voie entre deux nœuds.

Propagation des échecs: lorsqu'un nœud échoue et que les flux sont redirigés, ils touchent les nœuds en amont jusqu'à une distance de diamètre. Un système de diamètre-3 (client -> proxy -> backend -> DB) signifie que les échecs de la base de données affectent 3 couches en amont dans une tempête de reprise.

Implication: un diamètre plus court = un contournement des échecs plus rapide mais aussi une concentration accrue des nœuds. Chaque conception a son compromis.

Min-coupe comme limite du rayon d'action; diamètre comme distance de propagation

Calculez le Min-Coupe pour une Architecture Réelle

Une architecture: 1 DNS, 1 CDN, 3 proxies inverses, 12 réplicas back-end, 1 base de données primaire.

Calculez (ou estimez) le min-coupe aux trois frontières suivantes: (1) entre les clients externes et le niveau de la couche inverse; (2) entre le niveau de la couche inverse et le niveau de la couche back-end; (3) entre le niveau de la couche back-end et la base de données primaire. Pour chacune, nommez ce qui échoue lorsque le min-coupe est dépassé.

Audit des modes d'échec via les indicateurs de graphe

Synthèse

Vous pouvez maintenant identifier les nœuds de plus grande betweenness, calculer le min-coupe à chaque frontière et estimer la distance de propagation des échecs via le diamètre.

Appliquez les trois.

Un système : 50 points de terminaison client -> 1 DNS -> 2 POP CDN -> 4 proxies inverses -> 16 replicas back-end -> { cluster de base de données (1 primaire + 2 de secours), cluster Redis (5 nœuds), 3 API externes }.

Audit du système: (1) nommez le nœud de plus grande betweenness, (2) calculez le min-coupe à la frontière la plus préoccupante et (3) proposez deux modifications architecturales spécifiques (chaque levant un min-coupe, nommée avec la frontière qu'elle renforce).

Notes Complémentaires

Notes Complémentaires

Cette géométrie-de leçon redéfinit l'enseignement principal Modes de rupture et rayon d'action à travers des indicateurs de graphiques (betweenness, min-cut, diamètre).

La dernière complément, geometry_of_observability_and_capacity, traite des cellules de Voronoi pour les zones de captage des POP CDN, le plancher de la vitesse de la lumière du triangle de latence et la courbe de file d'attente revisitée au niveau du niveau du proxy.

Bien fait.