Les cinq composants principaux de springcloud sont : 1. Eureka, un service RESTful utilisé pour localiser les services de niveau intermédiaire exécutés dans la région AWS ; 2. Ribbon, un outil d'équilibrage de charge client basé sur HTTP et TCP ; empêche a L'application tente d'effectuer une opération plusieurs fois ; 4. Zuul, qui a plusieurs fonctions telles que la passerelle API, le routage, l'équilibrage de charge, etc. ; 5. Config, qui fournit le serveur et le client.
Quels sont les cinq composants majeurs de springcloud ?
1. Eureka
Rôle : Mettre en œuvre la gouvernance des services (enregistrement et découverte des services).
Un service RESTful utilisé pour localiser les services de niveau intermédiaire exécutés dans les régions AWS. Il se compose de deux 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 distinct 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.
Lorsque l'application démarre, le client Eureka enregistre ses propres informations de service auprès du serveur et met en cache les informations de service du serveur localement. Le client effectuera périodiquement des interactions avec le serveur pour mettre à jour les baux de service et les informations de service.
2. Ribbon
Fonction : fournit principalement un algorithme d'équilibrage de charge logiciel côté client.
Spring Cloud Ribbon est un outil d'équilibrage de charge côté client basé sur HTTP et TCP, qui est implémenté sur la base de Netflix Ribbon. Grâce à l'encapsulation de Spring Cloud, nous pouvons facilement convertir automatiquement les demandes de modèles REST orientées service en appels de service à charge équilibrée côté client. Le composant client Ribbon fournit une série d'options de configuration complètes, telles que le délai d'expiration de la connexion, la nouvelle tentative, l'algorithme de nouvelle tentative, etc. Ribbon intègre des composants d'équilibrage de charge enfichables et personnalisables.
3. Hystrix
Un disjoncteur empêche une application d'essayer à plusieurs reprises d'effectuer une opération susceptible d'échouer, lui permettant de continuer sans attendre une panne pour récupérer ou gaspiller des cycles de processeur pendant qu'il détermine que la panne est persistante. Le mode disjoncteur permet également aux applications de détecter si le défaut a été résolu. Si le problème semble avoir été corrigé, l'application peut tenter d'appeler l'opération.
Afin de garantir une haute disponibilité, les services individuels sont généralement déployés en clusters. Pour des raisons de réseau ou pour ses propres raisons, le service ne peut pas garantir une disponibilité à 100 %. S'il y a un problème avec un seul service, un blocage de thread se produira lors de l'appel de ce service. Les ressources de thread du conteneur Servlet seront consommées, provoquant une paralysie du service. En raison des dépendances entre les services, les pannes vont se propager et avoir des conséquences catastrophiques sur l'ensemble du système de microservices. C'est l'effet « avalanche » des pannes de services.
4. Zuul
Fonction : Il a plusieurs fonctions telles que la passerelle API, le routage, l'équilibrage de charge, etc.
Semblable à nginx, fonction de proxy inverse, mais Netflix lui-même a ajouté certaines fonctionnalités pour coopérer avec d'autres composants. Dans l'architecture des microservices, les services back-end ne sont souvent pas directement ouverts à l'extrémité appelante, mais sont acheminés vers le service correspondant via une passerelle API basée sur l'URL demandée. Lorsqu'une passerelle API est ajoutée, un mur est créé entre l'appelant tiers et le fournisseur de services. Ce mur communique directement avec l'appelant pour le contrôle des autorisations, puis distribue les requêtes au serveur backend de manière équilibrée.
5. Config
Fonction : gestion de la configuration.
SpringCloud Config fournit un côté serveur et un côté client. L'implémentation par défaut du backend de stockage du serveur utilise git, elle prend donc facilement en charge une version balisée de l'environnement de configuration, tout en donnant accès à une variété d'outils de gestion de contenu. Ceci est toujours statique et doit être coordonné avec Spring Cloud Bus pour réaliser des mises à jour de configuration dynamiques.
Qu'est-ce que Spring Cloud ?
Spring Cloud est une collection ordonnée d'une série de frameworks. Il utilise la commodité de développement de Spring Boot pour simplifier intelligemment le développement d'une infrastructure de système distribué, telle que l'enregistrement de la découverte de services, le centre de configuration, le bus de messages, l'équilibrage de charge, les disjoncteurs, la surveillance des données, etc., qui peuvent tous être effectués à l'aide de Style de développement Spring Boot pour un démarrage et un déploiement en un clic. Spring Cloud ne réinvente pas la roue, il combine simplement les cadres de services relativement matures et pratiques développés par diverses entreprises, et les ré-encapsule dans le style Spring Boot pour protéger les principes complexes de configuration et de mise en œuvre, et fournit enfin aux développeurs l'auteur a créé. un ensemble de boîtes à outils de développement de systèmes distribués faciles à comprendre, faciles à déployer et à entretenir.
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!