Les principes des cinq composants principaux de springcloud sont : 1. Eureka est utilisé pour simplifier l'interaction avec le serveur, agir comme un équilibreur de charge d'interrogation et fournir une prise en charge du basculement de service 2. Ribbon fournit principalement un équilibrage de charge logiciel côté client ; algorithmes ; 3. Hystrix peut aider à rejeter rapidement une opération susceptible d'échouer, au lieu d'attendre que l'opération expire pour maintenir le temps de réponse du système ; 4. Zuul est comme nginx, une fonction de proxy inverse ; 5. La configuration est statique ;
Cinq composants majeurs de springcloud
Découverte de services - Netflix Eureka
Équilibrage de charge client - Ruban Netflix
Disjoncteur - Netflix Hystrix
Passerelle de service - Netflix Zuul
Configuration distribuée - Spring Cloud Config
1. Eureka
est un service RESTful utilisé pour localiser les services de niveau intermédiaire exécutés dans les régions AWS.
se compose de 2 composants : le serveur Eureka et le client Eureka.
Le serveur Eureka est utilisé comme serveur d'enregistrement de services.
Le client Eureka est un client Java utilisé pour simplifier l'interaction avec les serveurs, agir comme un équilibreur de charge d'interrogation et fournir une prise en charge du basculement pour les services.
Netflix utilise un client supplémentaire dans son environnement de production qui fournit un équilibrage de charge pondéré en fonction du trafic, de l'utilisation des ressources et de l'état des erreurs. /
2, Ribbon
Ribbon, fournit principalement des algorithmes d'équilibrage de charge logiciel côté client.
Le composant client Ribbon fournit une série d'options de configuration complètes, telles que : délai d'expiration de connexion, nouvelle tentative, algorithme de nouvelle tentative, etc.
Ribbon intègre des composants d'équilibrage de charge enfichables et personnalisables.
Voici quelques stratégies d'équilibrage de charge utilisées :
Équilibrage de charge à tour de rôle simple
Équilibrage de charge à temps de réponse pondéré
Équilibrage de charge à tour de rôle sensible aux régions
Équilibrage de charge aléatoire
Le ruban comprend également les fonctions suivantes :
Facile pour intégrer des composants de découverte de services (comme Eureka de Netflix)
Utilisez Archaius pour la configuration du runtime
Utilisez JMX pour exposer les métriques opérationnelles et publier à l'aide de Servo
Plusieurs options de sérialisation enfichables
Opérations de traitement asynchrone et par lots (à venir)
Automatisé Cadre SLA (à venir)
Console de gestion du système/métriques (à venir)
3. Hystrix
Les disjoncteurs empêchent une application d'essayer d'effectuer une opération plusieurs fois, c'est-à-dire qu'elle est susceptible d'échouer, lui permettent de le faire. continuez sans attendre la récupération de l'échec ou sans gaspiller de cycles CPU pendant qu'il détermine que l'échec est persistant.
Le mode disjoncteur permet également à l'application de détecter si le défaut a été résolu.
Si le problème semble corrigé, l'application peut tenter d'appeler l'opération.
Les disjoncteurs ajoutent de la flexibilité et de la stabilité à un système, assurant la stabilité pendant que le système se remet des pannes et minimisant l'impact de cette panne sur les performances.
Cela peut aider à rejeter rapidement les demandes d'opération susceptibles d'échouer, au lieu d'attendre que l'opération expire (ou ne revienne pas) pour maintenir le temps de réponse du système.
Si un disjoncteur déclenche un événement à chaque fois qu'il change d'état, ces informations peuvent être utilisées pour surveiller la santé des composants du système protégés par le disjoncteur, ou pour alerter l'administrateur lorsque le disjoncteur se déclenche. État.
Flowchart
4, Zuul
est comme nginx, la fonction de proxy inverse, mais Netflix lui-même a ajouté quelques fonctionnalités pour coopérer avec d'autres composants.
5. Spring Cloud Config
Ceci est statique et doit être utilisé avec Spring Cloud Bus pour réaliser des mises à jour de configuration dynamiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!