当前位置:网站首页>La méthode et la pratique de construction à haute disponibilité du système de page d'hébergement commercial Baidu

La méthode et la pratique de construction à haute disponibilité du système de page d'hébergement commercial Baidu

2021-10-22 10:54:07 InfoQ

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Guide de lecture:","attrs":{}},{"type":"text","text":"Dans les entreprises Internet,Itération rapide des affaires,Changements fréquents dans le système,Au début, c'était du travail sur brûlis..Mais à mesure que la complexité du système augmente,,Les problèmes de stabilité du système sont mis en évidence,Lorsque les problèmes de stabilité deviennent un obstacle au développement des entreprises,On peut imaginer le coût d'un retour en arrière.,Par conséquent, notre architecture de système a besoin d'une optimisation et d'une évolution continues pour améliorer la stabilité.,Pour résoudre les problèmes immédiats,Il faut se préparer..Cet article combine la pratique concrète,Examen et résumé des méthodes de construction du système à haute disponibilité.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"italic","attrs":{}}],"text":"Texte intégral7986Mots,Temps de lecture estimé19Minutes.","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"Un.、Fiche d'information","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Baidu commercial Trust:","attrs":{}},{"type":"text","text":"C'est Baidu pour réaliser la construction de la nouvelle écologie du marketing,Viser une connectivité et une optimisation efficaces de la livraison,Fournir un guichet unique pour les clients commerciaux,Services de connectivité et consommateurs,Est un changement important de Baidu de l'exploitation du trafic à l'exploitation des utilisateurs.Les produits représentés sont le poisson de bois de base、Construction de stations et de plateformes de commerce électronique comme duxiaodian.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Au fur et à mesure que l'activité de la page gérée évolue,La taille et la complexité opérationnelle du système augmentent,La disponibilité du système est confrontée à de grands défis,De la méthode de construction de la convivialité à la pratique,Réflexion sur l'analyse approfondie de la construction de la stabilité,De la spécification、Surveillance、Redondance、Déclassement、Le plan et d'autres aspects du système de mise en œuvre à haute disponibilité.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Définition de l'indicateur de disponibilité:」","attrs":{}},{"type":"text","text":" Pour le système,Idéalement, le système peut fournir24Prestation de services 24 heures sur 24、Mais en raison de la grande complexité du système logiciel,En particulier dans les environnements de systèmes distribuésBUG、Exceptions matérielles et logicielles、Le système ne peut pas fournir en raison d'une capacité insuffisante, etc.100%Disponibilité de,Il est donc généralement utiliséN- Oui.9Pour évaluer la disponibilité du système,Cet indicateur sert également de baseSLALa norme.","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/0d/0d9e06406bb8e5c447bd6396a7aadfb9.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"2.、Réflexion sur la construction globale de la convivialité","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/0b/0bd788b19251449b7f001e664ed2e320.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La construction d'un système à haute disponibilité est un énorme projet、Doit être considéré globalement à partir de différentes dimensions,L'idée de construction globale peut être centrée sur le temps de défaillance du système、Champ d'application、Fréquence,La vitesse de traitement et d'autres aspects doivent être pris en considération de manière globale..","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2.1 Détection précoce des défauts","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Vu l'heure de la défaillance,,Avant les questions de rétroaction des utilisateurs ou des clients,Il est important que les développeurs soient en mesure de découvrir les problèmes en premier lieu,Chaque fois qu'un problème survient, nous y réfléchissons profondément.,Pouvez - vous trouver le problème plus tôt,Quels sont les moyens et méthodes couramment utilisés?,Je vais vous présenter un par un..","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2.1.1 Détection précoce des défauts-Normalisation:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Normalisation des journaux」","attrs":{}},{"type":"text","text":"L'idée de base de la normalisation est de s'assurer que l'ensemble du système peut être coordonné et unifié par certaines contraintes.,Les services internes gérés sont basés sur un cadre de micro - services unifié,Mais les journaux varient considérablement d'un système à l'autre et d'un module à l'autre.,En cours de développement、Les phases d'essai et d'exploitation et d'entretien entraînent des coûts plus élevés.La spécification log est principalement axée sur l'enregistrement des principales informations commerciales pendant le développement.,Problèmes de positionnement efficaces;InQADépannage des problèmes pendant la phase d'essai;Fournir des guides efficaces pour l'analyse statistique des données.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Spécifications générales mondiales」:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Le contexte mondial est unifiéMDCRéalisation,Diviser avec des parenthèses et des espaces.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Tous lesloggerRéglage requisaddtivity=false,Interdire l'impression répétée.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"msgL'information doit être concise、Facile à comprendre.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Les journaux connexes interdisent l'impression répétée versconsole.logMoyenne.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Imprimer l'utilisation du Journalslf4jFaçade.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Classement des journaux」:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「TRACE」","attrs":{}},{"type":"text","text":" Détails de la mise en service,Désactiver l'ouverture en ligne.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「DEBUG」","attrs":{}},{"type":"text","text":" Journal de mise en service du développement,Désactiver l'ouverture en ligne.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「WARN」","attrs":{}},{"type":"text","text":" Journal des avertissements Les journaux sont souvent utilisés pour indiquer un problème avec le module système,Mais n'affecte pas le fonctionnement du système.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「INFO」","attrs":{}},{"type":"text","text":" Dossiers d'information Le niveau de journalisation est principalement utilisé pour enregistrer l'état de fonctionnement du système et d'autres informations connexes..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「ERROR」","attrs":{}},{"type":"text","text":" Sortie du message d'erreur Après la sortie de cette information,Le module central du système principal fonctionne normalement,Doit être réparé pour fonctionner correctement.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Fichiers journaux」","attrs":{}}]}]}],"attrs":{}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/ce/ce075ce77054b6700316f6e5af26b53f.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「logPattern」","attrs":{}}]}]}],"attrs":{}},{"type":"codeblock","attrs":{"lang":"text"},"content":[{"type":"text","text":"","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Exigences relatives au format des journaux clés」","attrs":{}},{"type":"text","text":"Il y a beaucoup de règles et de spécifications impliquées ici,Pas un par un,Il s'agit principalement du contexte de base qui traverse le journal.,Source requiseip,Chemin de demande,Code d'état,Temps écoulé, etc..","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Normalisation des alarmes」","attrs":{}},{"type":"text","text":"La normalisation des alarmes est principalement axée sur la surveillance des alarmes dans les journaux d'erreurs.,Surveillance hiérarchique des alarmes、Définition du nom du projet de surveillance qui définit la surveillance hiérarchique.Alarmes pour différents niveaux,Utiliser différentes tâches d'acquisition et stratégies de surveillance,Et définir le processus de suivi correspondant.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Alarmes de surveillance du rendement pour les services généraux.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Alarme de surveillance des performances fortement dépendante.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Alarme de surveillance du Code d'état anormal du Service.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Alarme de surveillance du temps de service des tiers.","attrs":{}}]}]}],"attrs":{}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b2/b2ddcdb24df194f74a10181b092d7fae.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Normalisation du Service」","attrs":{}},{"type":"text","text":"Avis aux élèves de service、Stop loss、Positionnement、Résoudre les spécifications et les processus de base,Veiller à ce que les problèmes en ligne soient traités et résolus en premier lieu.","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2.1.2 Détection précoce des défauts-Surveillance du système","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La surveillance du système consiste principalement à renforcer les capacités globales de perception des problèmes et de positionnement des problèmes..La rectification normalisée des journaux mentionnée précédemment est une condition préalable à la sensibilisation automatisée aux problèmes.,Lorsque la spécification du journal système est terminée,Nous pouvons construire une surveillance unifiée par des moyens automatisés.Comprend principalement des indicateurs opérationnels au niveau de la perception des problèmes、Fonctions commerciales、Stabilité du système、Exactitude des données、Rapidité, etc..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/3b/3b5003afbc96ee31a2a8a870f5f19349.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Perception des problèmes:」","attrs":{}},{"type":"text","text":"Les indicateurs opérationnels se réfèrent aux indicateurs opérationnels de base qui préoccupent le système.,Les changements dans les indicateurs opérationnels peuvent être détectés principalement par la collecte de données en temps réel.,Capacité de surveiller en temps réel l'impact des problèmes du système sur l'entreprise.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La fonction opérationnelle est la capacité de tester et de surveiller automatiquement les scénarios de la fonction opérationnelle de base..","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La stabilité du système est mesurée à partir de plusieurs dimensions.La disponibilité est mesurée à partir du portail de la passerelle、La disponibilité est considérée par le module lui - même、Et mesurer la stabilité d'un système à partir de la stabilité d'un tiers dépendant.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La vérification de la cohérence des données est essentiellement un scénario de rapprochement hors ligne ou proche de la ligne.,Pour les microservices distribués,La plupart des compensations sont utilisées pour assurer la cohérence finale.,Le rapprochement des données est donc particulièrement important..","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Localisation des problèmes:」","attrs":{}},{"type":"text","text":"L'orientation des problèmes est principalement liée à certains scénarios opérationnels de base.,Construction d'alarmes et de moniteurs pour certains indices anormaux,Y compris les anomalies de débit、Bruit plat anormal、pvlostAttendez..En termes d'exactitude des données et de rapidité,Inclure le délai de données、Données incohérentes, etc..","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2.1.3 Détection précoce des défauts-Évaluation des capacités","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"L'évaluation de la capacité est un moyen efficace de découvrir les problèmes de capacité du système à l'avance.,Surtout quand il y a des scénarios d'affaires spécifiques,L'évaluation de la capacité du système par l'Ingénieur ou l'architecte est nécessaire pour déterminer si le système doit être agrandi, etc.,Il nous faut beaucoup de préparation ici.,Les méthodes courantes d'évaluation de la capacité sont l'analyse statique et l'évaluation dynamique..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"L'analyse statique consiste à analyser la topologie dépendante d'un système existant.,Combiné au débit actuel,Calcul théorique de la capacité de charge et du goulot d'étranglement du débit maximal supportable par le système.L'analyse statique ne peut fournir qu'un seul résultat estimé,Pas nécessairement objectif et précis.L'évaluation dynamique est une mesure de pression analogique du service en ligne.,Évaluer la capacité en fonction de la situation réelle du système,Cette méthode est relativement objective et précise.,Mais il y a un certain risque que la tension de liaison complète en ligne soit mesurée,Et il est facile de polluer les données commerciales.Par conséquent, l'analyse statique peut être utilisée dans l'évaluation de la capacité.+Évaluer dynamiquement la combinaison des deux.","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/5d/5db264c216e061344516fe9a58296a6e.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Considérations relatives à l'évaluation dynamique:」","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Essayez de simuler le trafic réel en ligne(Lecture du débit)Pour effectuer des essais de pression en ligne,Parce que différentes logiques de branche peuvent entraîner des charges système différentes,Par exemple, si vous testez la pression pour une demande et un paramètre identiques,Très probable.cache,Les résultats des mesures de pression ne sont pas fiables..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"L'impact potentiel sur l'entreprise doit être examiné par analyse statique avant l'évaluation dynamique.,Les interrupteurs associés doivent être ajoutés pour éviter toute interférence avec l'utilisateur.,Par exemple:Envoyer des SMS aux utilisateurs ou aux commerçants pour passer des commandes, etc..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"L'évaluation dynamique peut avoir un impact sur les systèmes en ligne,Par conséquent, il doit être effectué pendant la période de faible débit de pointe.,Et capable de démarrer et d'arrêter rapidement.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"L'évaluation dynamique exige que le système opérationnel coopère à l'étiquetage et au nettoyage des données.,Éviter l'impact des données sales sur les activités en ligne.","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2.2 Petite plage de défauts","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Du point de vue de l'étendue de la défaillance,La méthode commune et la méthode de base pour réduire la portée des défauts sont principalement l'isolement.,L'isolement met l'accent sur l'isolement des défaillances causées par des services non essentiels dans l'architecture des microservices.,Réduire l'impact des facteurs non essentiels sur la stabilité des activités de base,Seule la stabilité des services de base doit être prise en considération une fois l'isolement terminé..Les œufs ne peuvent pas être dans le même panier..Isolement spécifique avec stockage、Isolement des services、Et l'isolement des permissions.","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2.2.1 Petite plage de défauts-Isolement du stockage","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Début de la construction du système,Afin d’accroître l’efficacité de la R & D et d’économiser des ressources,De nombreuses entreprises partagent le stockage.Au fur et à mesure que l'entreprise se développe,Les problèmes suivants se posent souvent::","attrs":{}}]},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"ALa lenteur des affairessqlRalentit l'ensemble du cluster.A affectéB、C、DLes affaires.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"BAjouter un champ à une grande table d'affaires,Provoque un retard maître - esclave,A affectéA、C、DLes affaires.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"CAnalyse statistique hors ligne des secteurs d'activitéCPU100%,A affectéA、B、DLes affaires.","attrs":{}}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La principale façon de résoudre les problèmes suivants est de diviser les grappes physiques.,Éviter l'interaction entre le stockage sous - jacent partagé par les entreprises,Stabilité globale du système de levage.Le système de page gérée a deux activités principales: la construction de stations et le commerce électronique.,En raison du partageMYSQLLes grappes provoquent des lignes d'influence mutuellecaseFréquence plus élevée,Migrer les Clusters physiques par domaine d'activité,Voir la figure ci - dessous pour les principales méthodes et procédures de séparation.:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b9/b9f5bafdd8ad3f40a18dd0fa649dac27.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Évaluation de la capacité des nouvelles grappes、Demandes de ressources、Et la synchronisation en double écriture dans le processus de commutation est un processus et une étape très importants,Vérifier l'exactitude des données en temps opportun après la double écriture.AutresredisEt d'autres idées et méthodes d'isolement du stockage sont conformes à ce qui précède..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2.2.2 Petite plage de défauts-Ségrégation des services","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Ségrégation des services」","attrs":{}},{"type":"text","text":"Une façon d'isoler les services est du point de vue de l'entreprise,Il s'agit ici du principe de la séparation des micro - services.,Les méthodes et principes généraux sont les suivants::","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Sera facile à changer,Les parties fréquemment modifiées sont isolées du Service.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Isoler les applications à haut niveau de concurrence des applications à faible niveau.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Diviser et isoler les services par structure organisationnelle(La loi de Conway|Séparation verticale).","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Informations et services communs de base pour les dépôts,Assurer l'universalité(Séparation horizontale).","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Une autre façon d'isoler est d'envisager la redondance,Du point de vue de la haute disponibilité, nous devons assurer notre service pour assurer la redondance Multi - salles et multi - zones,Garantie en cas de défaillance d'une salle informatique ou d'une zone,Si la commutation et l'arrêt des pertes peuvent être effectués en temps opportun.La redondance résout le problème de la stabilité des services de base face aux changements environnementaux.,Comme une panne de service、Défaillance du commutateur、Défaillance du réseau、Défaillance de la salle des machines, etc.,Grâce à divers niveaux de redondance et de programmation du trafic,S'assurer que l'entreprise peut encore fournir un service stable par commutation redondante face à divers changements matériels et environnementaux.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Ici, la redondance se réfère davantage à la redondance de la couche d'accès et du service.,Il est facile d'obtenir une redondance de service apatride,Mais le coût de la redondance Multi - régions pour les composantes de base stateful et les services de stockage est élevé,Peut être réalisé par scénario,Par exemple, un scénario de requête qui n'exige pas beaucoup de cohérence des données,Déploiement géographique avec stockage,Mais les exigences de cohérence sont élevées,Il faut y réfléchir.setPour réaliser,Pour plus de détails, veuillez consulter l'architecture des trois centres régionaux et cinq centres d'Ali..","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Nettoyage des anciens services」","attrs":{}},{"type":"text","text":"En raison des changements et des itérations constants du système,Il y aura toujours des projets technologiques qui reconstruiront ou réécriront les systèmes existants.,Il n'est pas rare que plusieurs versions d'une interface ou d'un système coexistent dans une entreprise Internet..En particulier pour certains services de base sous - jacents,Un niveau élevé de sensibilité et de responsabilité de la part du programmeur ou de l'architecte est nécessaire ici.,Pour certaines techniques, la queue doit être nettoyée à temps.,Pour assurer une grande disponibilité du système.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pour les fournisseurs de services de base,Mise à jour impliquant des versions plus anciennes,Nécessité de promouvoir la mise à niveau du système en amont en temps opportun.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pour les services plus anciens qui dépendent de certains services non entretenus,Nécessité de réorganiser les topologies dépendantes du Service,Effectuer une substitution optimisée.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pour les composants de base dépendants、Nécessité d'une évaluation et d'une mise à jour en temps opportun,En particulier en ce qui concerne la sécurité,Problèmes de performance, etc.","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"2.2.3 Petite plage de défauts-Isolement des droits","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La plupart des défaillances du système sont dues à des changements,L'un des points importants du contrôle du changement est l'isolement des autorisations.,Séparation des droits pour la publication et la mise en ligne des services,Il est nécessaire de s'appuyer sur la capacité de la plate - forme de gestion des conteneurs,Mais l'équipe doit nettoyer les permissions en temps opportun.Éviter les risques en ligne dus à un mauvais fonctionnement par des personnes non liées.","attrs":{}}]},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"Isolement des permissions de lecture et d'écriture pour les bases de données en ligne,IPContrôle des autorisations.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"Séparation des droits de publication et de déploiement pour les services en ligne,Contrôle de la liste des approbations publiées par niveau.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"Isolement des permissions pour la Bibliothèque de codes,GarantieCRQualité.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":4,"align":null,"origin":null},"content":[{"type":"text","text":"Isolement de la couche d'entrée du service et des droits administratifs.","attrs":{}}]}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2.3 Faible fréquence de défaillance","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La fréquence des défaillances doit être mentionnée comme un autre concept.,AppeléMTBF(Intervalle moyen de défaillance)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/55/55ef9a16d2f6c190b3bb1ee0848e8ed7.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Le temps de défaillance se réfère à la dernière fois que l'équipement est revenu à l'état normal.(Dans l'imageup time)Lève - toi.,Au moment où l'équipement tombe en panne(Dans l'imagedown time)Temps écoulé entre.Vous pouvezMTBFExprimé mathématiquement comme suit::","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/4b/4b017f1abb94d127133dd635f6f28129.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Nous sommes confrontés à une variété d'environnements de réseau complexes,La fréquence des défaillances est un indicateur important de la capacité d'auto - protection de notre système.,Ensuite, les méthodes et pratiques communes suivantes sont introduites:.","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2.3.1 Faible fréquence de défaillance-Limite de service","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Chaque système a sa capacité maximale,C'est - à - dire avant qu'un point critique ne soit atteint,Le système peut fournir un service normal.Afin de s'assurer que le système peut encore fournir des services à l'extérieur tout en faisant face à un débit instantané important,Nous avons besoin d'un contrôle de flux.En particulier pour certains services de base sous - jacents ou services d'affaires dont dépendent de nombreuses applications.Algorithme de limitation du courant(Fenêtres fixes et coulissantes)Algorithme de seau à jetons et de seau manquant.","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Algorithme commun de limitation du courant」","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Algorithme de seau de jetons:","attrs":{}},{"type":"text","text":"Dans l'algorithme token bucket,Il y a un seau,Un nombre fixe de jetons.Un mécanisme existe dans l'algorithme,Jetons dans le seau à un rythme déterminé.Un jeton doit être obtenu pour chaque appel de demande,J'ai juste le jeton.,Pour pouvoir continuer,Sinon, sélectionnez choisir d'attendre les jetons disponibles、Ou refuser directement.","attrs":{}}]}]}],"attrs":{}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/a6/a6f5c908de598af410d5fb85a4892292.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Algorithme de fuite de baril:","attrs":{}},{"type":"text","text":"Le nom de l'algorithme du seau manquant est très figuratif.,Il y a un conteneur à l'intérieur de l'algorithme,Entonnoir de vie similaire,Quand la demande arrive,équivalent à de l'eau dans l'entonnoir,Puis il s'écoule lentement et uniformément de la petite ouverture inférieure.Peu importe la quantité de trafic.,La vitesse de sortie en dessous reste constante.","attrs":{}}]}]}],"attrs":{}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/3f/3f7893ee2eff83de004e42c9c885e80c.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Mode de limitation du courant」:","attrs":{}},{"type":"text","text":"Du point de vue du système de pages gérées,Il s'agit principalement de deux catégories de services,L'un est directement orienté vers l'utilisateurwebService ouapi,Il y a habituellement une couche de passerelle,Par exemple, Baidu a son propreBFEPlate - forme,Il est facile de configurer les règles de limitation du courant.L'autre estRPCServices,Ce besoin de limiter le courant par lui - même,Actuellement, le mode de limitation du courant le plus populaire est le suivant:RateLimiter - resilience4j(Mise en œuvre du seau de jetons),Capable de suivreSpringbootBonne intégration,Les méthodes spécifiques de mise en œuvre et d'utilisation peuvent être référencées.https://resilience4j.readme.io/docs/ratelimiter","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Les points suivants doivent être pris en considération lors de la configuration et de la mise en œuvre de la limitation du courant::","attrs":{}}]},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"La difficulté de limiter le courant est d'évaluer un seuil raisonnable,En général, il faut tenir compte de la situation réelle en ligne.,Et des mesures dynamiques de pression pour une évaluation précise.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"Parce que nos services offrent plus d'unAPI,Nécessité d'une configuration globale des limites de courant pour les services et importance fondamentaleAPIConfiguration actuelle limitée pour,La priorité est globale>Local.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"Afin d'assurer la rapidité des opérations de limitation du courant,Le système doit prendre en charge la modification dynamique de la configuration.","attrs":{}}]}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2.3.2 Faible fréquence de défaillance-Fusible dégradé","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Les systèmes distribués sont fusionnés comme des fusibles pour les circuits domestiques,Lorsque le système dépasse le seuil de charge,Ça va se casser.,Protection du système.Surtout aujourd'hui, avec le développement rapide des micro - services,La topologie de la dépendance au service devient de plus en plus complexe,Il est difficile pour un architecte de tracer toutes les topologies dépendantes du Service,Lorsqu'un service n'est pas disponible mais qu'il n'y a pas de fusible correspondant,Risque élevé d'avalanche,Cette défaillance catastrophique doit être garantie par un fusible et une dégradation raisonnables..","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Peigne dépendant de la force et de la faiblesse」","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La condition préalable à la dégradation des fusibles est de trier les dépendances de la force et de la faiblesse.,Ici, la force et la faiblesse de la dépendance sont évaluées principalement en fonction de l'impact sur l'entreprise.,Par exemple, passer une commande,Le Service d'inventaire des biens est une forte dépendance,Parce que la cohérence des données est garantie.Non dégradable ici.Toutefois, les prix affichés sur la page de détails du produit dépendent du Service de calcul des prix du marketing.,Ceci peut être défini comme une faible dépendance,Parce que même si le Service de prix n'est pas disponible,Les marchandises peuvent être affichées au prix d'origine.La rétrogradation a généralement un impact sur l'entreprise,Ce que nous devons faire, c'est ce que nous attendons d'une rétrogradation.,Quelles entreprises seront touchées.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Sélection des cadres」","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Les cadres de dégradation des fusibles sont couramment utilisés https://resilience4j.readme.io/docs/circuitbreaker.C'est un cadre de disjoncteur léger(6wCode de ligne),Simple à utiliser.(HystrixArrêter la mise à jour,Passer en mode Maintenance),Il est également plus courant Sentinel,Plus d'articles de comparaison en ligne,Plus de détails ici.","attrs":{}}]}]}],"attrs":{}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b9/b90f99c898836c1338ef8dbb61a3e1f9.webp","alt":"Photos","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"AvecHystrixMême chose.,Resilience4jLes fusibles ont également trois états,C'est - à - dire l'état fermé(CLOSED)、Semi - ouvert(HALF_OPEN)Et ouvert(OPEN),Mais à part ça,Resilience4jIl y a deux autres états spéciaux,Non disponible(DISABLED)Et forcer l'état ouvert(FORCED_OPEN)","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Resilience4jUtiliserring bit buffer Cette structure de données stocke le résultat de l'appel de la méthode protégée.Un appel réussi,Stockage1,Un appel échoué au stockage0.ring bit bufferC'est une sorte debitsetStructure des données pour,Au rez - de - chaussée se trouve unlongTableau de type,Il suffit de16Les éléments peuvent être stockés1024Résultats des appels.","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"3.3 Faible fréquence de défaillance-Paramètres de temporisation","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Des temps d'arrêt déraisonnables et des réglages de retry peuvent également causer des défaillances du système.,Système géré pour Timeout、Tolérance aux défauts、Mise en commun、Et a procédé à un tri et à une rectification complets.Les principaux points sont les suivants:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Délai raisonnable」","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"RPCDépendance etHTTPUn délai raisonnable doit être fixé pour toutes les dépendances.,Selon la ligne de service dépendante99Valeur décimale,Ajouter30%-50%Debuffer.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"De nombreux cadres ont des temps d'arrêt par défaut,Ajustements nécessaires.Par exempleredisLe pool de connexion par défaut Read Write and Connection Timeout est2000ms,okhttpLe pool de connexion pour est par défaut à10s,hikariLe délai de connexion par défaut est30s. De nombreuses connexions de temporisation par défaut ne sont pas raisonnables pour les services et les applications à forte concurrence,Nécessité d'une prise en compte intégrée des scénarios opérationnels.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Mécanisme de tolérance aux pannes」","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Option pour les opérations de lecturefailoverStratégie de tolérance aux pannes pour,Nombre de retraits<=2Une fois.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Le retry de l'opération d'écriture doit être considéré comme approprié,La question de savoir si le service en aval peut garantir l'idémpotence doit être pleinement prise en considération.,Pour le risque,Pour les cas où l'idémpotence n'est pas garantie en aval, vous pouvez choisir failfast.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Paramètres de mise en commun」","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pool de Threads、Les pools de connexion sont des façons que nous utilisons souvent dans le développement de programmes,L'objectif principal est de réduire les frais généraux du système liés à la création et à la destruction fréquentes.,Améliorer les performances du système,Mais une configuration déraisonnable de la mise en commun peut également entraîner certains risques pour le système..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Le pool de Threads n'est pas autoriséExecutorsPour créer,Mais à traversThreadPoolExecutorDe la façon dont.Afficher les paramètres de base du pool de thread défini.(Code Ali).","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"redisEt la valeur initiale du pool de connexion à la base de données doit tenir compte de la taille du cluster Et le nombre maximum de connexions autorisées par le Service de stockage,Non configurable trop grand,Une configuration déraisonnable peut entraîner un service de stockage complet au démarrage du Service.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Les pools de Threads et de connexions nécessitent des noms différenciés,Pour facilitermonitorEt la journalisation.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Combien de réglages de taille de mise en commun sont appropriés?Combiner les exigences de débit et de bruit,Formule recommandée:Volume simultané(Nombre de connexions、Nombre de fils)= Demandes par seconde (QPS)* Temps de traitement.Il faut aussi y réfléchir.CPUNombre de noyaux,Disque,Considérations générales telles que la mémoire.Il est recommandé de procéder à une évaluation pratique sur la base d'un essai de pression en ligne..","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2.4 Dépannage rapide","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La clé du dépannage est d'arrêter rapidement les pertes,Beaucoup de programmeurs aiment le forage.,Il faut trouver la cause profonde pour résoudre le problème.,Mais à mesure que le temps de défaillance augmente,L'impact sur l'entreprise va augmenter.Donc chaque programmeur a besoin d'un sens de l'arrêt rapide des pertes,Reprendre les affaires dès que possible,Les causes profondes de la défaillance doivent être analysées après le maintien du site et résolues par la reprise..","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Capacité d'expansion rapide」","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"L'expansion rapide reflète la capacité d'expansion des services et des systèmes,Cela dépend de la capacité d'échelle des grappes conteneurisées.En raison de problèmes historiques,Certains des systèmes de page gérés fonctionnent sur des machines physiques ou d'anciennes plates - formes non entretenues.,Il n'y a pas grand - chose à faire pour faire face au trafic soudain,Donc,paasLa transformation est une question urgente,En s'appuyant surpaasCapacité d'expansion rapide de la plate - forme,Capable d'arrêter rapidement les pertes.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Plan de traitement conventionnel」","attrs":{}},{"type":"text","text":"L'accumulation de plans d'urgence réguliers est un moyen efficace de traiter rapidement les défaillances soudaines.,Le moyen relativement idéal de localiser rapidement les défauts et d'arrêter les pertes est de passer par le positionnement et le plan des défauts.,En cas de défaillance,Les élèves du développement ou de l'exploitation et de l'entretien concernés peuvent rapidement déterminer le type de défaillance et exécuter le plan en temps opportun.,Limitation du courant d'attaque、Commutation de la salle des machines、Expansion rapide、Urgence normalecaseProcessus de traitement, etc..","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Expérience de la conception du planTIPS","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"De l'histoirecaseRésumé de la reprise,Classement dans le plan.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Lors de l'établissement du plan, il est pratique de le déclencher et de l'exécuter..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Les défauts causés par la mise en service ou le changement sont courants,Un schéma complet de retournement des modifications est nécessaire pour chaque mise en service..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pour les défauts dus aux variations de débit et de capacité,Nécessité d'une évaluation périodique de la capacité en ligne.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Pour la salle des machines、Réseau、Défaillance du matériel, etc.,Assurer la stabilité du service grâce à une redondance appropriée et à un transfert rapide du trafic.","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"「Sauvegarde des données」","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"En cas de problème de service, nous pouvons changer de trafic en temps opportun.、Redémarrer、Solution d'expansion,Mais quand les données tournent mal,,Par exemple, supprimer une bibliothèque,Problèmes tels que la perte de données,Les coûts de récupération sont extrêmement élevés,Donc normalement, nous devons sauvegarder les données de base,Par exempleMYSQLSauvegarde quotidienne des données de base du cluster,Et peut passer parbinlogDonnées rétrospectives en temps réel,En général, les entreprises etDBAConfirmer conjointement les mécanismes de sauvegarde et de récupération rapide des données.","attrs":{}}]}]}],"attrs":{}},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"Trois、Résumé et réflexion","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"La stabilité du système est un sujet très important,Cet article combine la pratique de la construction de la stabilité de la page de tutelle commerciale,Les méthodes communes de garantie de la stabilité du système sont décrites à partir de la classification macroscopique..Détection des défauts、Impact de la défaillance,Résumé de la fréquence des défaillances à la gestion des défaillances.La construction de la stabilité exige une prise en compte complète des activités、Recherche et développement、Tests、Facteurs multiples d'exploitation et d'entretien,Tous les aspects doivent être coordonnés.En raison de la capacité limitée de l'auteur,Rédaction hâtive,Il est in évitable qu'il y ait des inexactitudes ou des omissions dans le texte.,Les lecteurs sont invités à apporter des corrections..","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"---------- END ----------","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Baidu Geek Dis - le.","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Le numéro public technique officiel de Baidu est en ligne.!","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Produits techniques secs · Informations sur l'industrie · Salon en ligne · Congrès de l'industrie","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Information sur le recrutement · Messages d'extrapolation · Livres techniques · Autour de Baidu","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Bienvenue à tous.","attrs":{}}]}]}

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/10/20211022104253087h.html

随机推荐