Table des matières
Résumé
Maison Java JavaBase Quels sont les sept composants majeurs de Spring Cloud ?

Quels sont les sept composants majeurs de Spring Cloud ?

Apr 25, 2021 pm 05:43 PM
java spring boot spring cloud

Spring Cloud comporte sept composants principaux : 1. Le composant Eureka, qui décrit comment le service est enregistré et où l'enregistrer ; 2. Le composant Ribbon 3. Le composant Feign, un client de service Web de déclaration ; composant ; 5. Composant de configuration ; 6. Composant Zuul 7. Composant de bus.

Quels sont les sept composants majeurs de Spring Cloud ?

L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.

Composant Spring Cloud Family Bucket

Avant de présenter Spring Cloud Family Bucket, je dois d'abord présenter Netflix est une excellente entreprise In Spring It. joue un rôle important dans le projet Cloud. Netflix fournit de nombreux composants dont Eureka, Hystrix, Zuul, Archaius, etc., qui sont cruciaux dans l'architecture des microservices. Spring encapsule une série de composants basés sur Netflix, nommés : Spring Cloud Eureka, Spring. Cloud Hystrix, Spring Cloud Zuul, etc. Chaque composant est présenté ci-dessous :

(1) Spring Cloud Eureka

Nous utilisons des microservices L'essence des microservices est l'appel. de diverses interfaces API Alors, comment générons-nous ces interfaces et comment les appelons-nous après avoir généré ces interfaces ? Comment le gérer ?

La réponse est Spring Cloud Eureka. Nous pouvons enregistrer notre propre interface API définie sur Spring Cloud. Eureka est responsable de l'enregistrement et de la découverte du service. Si vous avez étudié Zookeeper, vous pouvez bien le comprendre. similaire à celui de Zookeeper, qui est l'enregistrement et la découverte des services. Les composants qui composent le système Eureka comprennent : le centre d'enregistrement des services, le fournisseur de services et le consommateur de services.

Quels sont les sept composants majeurs de Spring Cloud ?

L'image ci-dessus décrit (l'image vient d'Internet) :

1. Réplication maître-esclave du centre d'enregistrement de services composé de deux services Eureka. Cluster des centres d'enregistrement ;
2. Ensuite, le fournisseur de services enregistre, renouvelle, services hors ligne, etc. auprès du centre d'enregistrement
3. consommateur de services rend compte à  ; Eureka Le centre d'enregistrement extrait la liste des services et la maintient localement (c'est aussi l'incarnation du mécanisme du mode de découverte des clients !
4. Puis consommateur du service ); selon 🎜>Centre d'enregistrement des services Eureka Sélectionnez un fournisseur de services pour consommer les services dans la liste de services obtenue.

(2) Spring Cloud Ribbon

Spring Cloud Eureka décrit comment les services sont enregistrés, où ils sont enregistrés et comment les consommateurs de services obtiennent des services auprès des producteurs de services. Informations, mais Eureka entretient uniquement la relation entre les producteurs de services, les centres d'enregistrement et les consommateurs de services. Le véritable consommateur de services appelle les données fournies par le producteur de services via Spring Cloud Ribbon.

Il est mentionné en (1) que le consommateur de services obtient la liste de services du producteur de services auprès du centre d'enregistrement et la maintient localement. Cette méthode de découverte de clients permet au consommateur de services de choisir celui qui convient. Le nœud accède aux données fournies par le producteur de services. Ce processus de sélection du nœud approprié est complété par Spring Cloud Ribbon.

C'est de là que vient l'équilibreur de charge client Spring Cloud Ribbon.

(3) Spring Cloud Feign

Dans (1) et (2) ci-dessus, nous avons utilisé le moyen le plus simple pour réaliser la découverte d'enregistrement et l'invocation de service de le service.Opération, si vous utilisez spécifiquement Ribbon pour appeler des services, vous pouvez sentir que la façon d'utiliser Ribbon est encore un peu compliquée, c'est pourquoi Spring Cloud Feign a vu le jour.

Spring Cloud Feign est un client de service Web déclaratif, qui facilite l'écriture de clients de services Web. Utilisez Feign pour créer une interface et l'annoter. Il prend en charge les annotations enfichables, notamment les annotations Feign et les annotations JAX-RS, Feign également. prend en charge les encodeurs et décodeurs enfichables, Spring Cloud ajoute des annotations pour Spring MVC, Spring Web utilise HttpMessageConverters par défaut, Spring Cloud intègre Ribbon et le client HTTP à charge équilibrée Feign fourni par Eureka.

Cela peut être simplement compris comme suit : l'émergence de Spring Cloud Feign facilite l'utilisation d'Eureka et de Ribbon.

(4) Spring Cloud Hystrix

Nous avons appris à utiliser Eureka pour l'enregistrement et la découverte de services dans (1), (2) et (3) Utiliser le ruban. implémente des appels de services d'équilibrage de charge, et nous savons également que l'utilisation de Feign peut simplifier notre codage. Cependant, cela ne suffit pas pour parvenir à une architecture de microservices hautement disponible.

Par exemple : lorsqu'un service échoue et que l'appelant du service ne sait pas que le service est défectueux, si le nombre d'appels passés à ce moment continue d'augmenter, il finira par attendre l'échec du service. partie à créer une tâche en conséquence. L'arriéré a finalement conduit à la paralysie de ses propres services.

Spring Cloud Hystrix est conçu pour résoudre cette situation et empêcher l'accès continu à un service défectueux. La signification de Hystrix est : disjoncteur. Le disjoncteur lui-même est un dispositif de commutation utilisé pour la protection des circuits dans nos maisons afin d'éviter les surcharges de courant. Lorsqu'un appareil électrique de la ligne est court-circuité, le disjoncteur peut commuter l'appareil électrique défectueux. à temps pour éviter des conséquences graves telles qu'une surcharge, un échauffement ou même un incendie.

(5) Spring Cloud Config

Quand il n'y avait pas beaucoup de microservices, la configuration et la gestion des divers services étaient relativement simples, mais quand il y a des centaines ou des milliers de nœuds de microservices Quand Si cela se lève, la gestion de la configuration des services va devenir compliquée.

Dans un système distribué, en raison du grand nombre de services, afin de faciliter la gestion unifiée et la mise à jour en temps réel des fichiers de configuration des services, un composant de centre de configuration distribué est nécessaire. Dans Spring Cloud, il existe le composant du centre de configuration distribué Spring Cloud Config, qui prend en charge le placement du service de configuration dans la mémoire du service de configuration (c'est-à-dire local) et prend également en charge le placement dans le référentiel Git distant. Dans le composant Cpring Cloud Config, il existe deux rôles, l'un est Config Server et l'autre est Config Client.

Config Server est utilisé pour stocker les attributs de configuration. L'emplacement de stockage peut être un entrepôt Git, un entrepôt SVN, des fichiers locaux, etc. Config Client est utilisé pour lire les attributs du service.

Quels sont les sept composants majeurs de Spring Cloud ?

(6) Spring Cloud Zuul

Nous utilisons Eureka dans Spring Cloud Netflix pour mettre en œuvre le centre d'enregistrement des services et l'enregistrement des services et La découverte ; la consommation des services et l'équilibrage de charge sont implémentés via Ribbon ou Feign entre les services ; la configuration externe et la gestion des versions de plusieurs environnements d'application sont implémentées via Spring Cloud Config. Afin de rendre le cluster de services plus robuste, le mécanisme de fusion d'Hystrix est utilisé pour éviter la propagation des pannes causées par des exceptions dans des services individuels dans l'architecture des microservices.

Quels sont les sept composants majeurs de Spring Cloud ?

Parlons d'abord de certaines choses qui doivent être faites et des défauts d'une telle architecture :

1. Tout d'abord, elle détruit les apatrides. caractéristique du service. Afin d'assurer la sécurité des services externes, nous devons mettre en œuvre un contrôle des autorisations sur l'accès aux services. Le mécanisme de contrôle des autorisations des services ouverts pénétrera et polluera la logique métier de l'ensemble du service ouvert. détruira le service. Les caractéristiques sans état de l'API REST dans le cluster. Du point de vue du développement et des tests spécifiques, outre la prise en compte de la logique métier réelle pendant le travail, un traitement de contrôle supplémentaire et durable de l'accès à l'interface est également nécessaire.

2. Deuxièmement, les interfaces existantes ne peuvent pas être directement réutilisées. Lorsque nous devons accéder à des services externes à partir d'une interface d'accès au cluster existante, nous devons ajouter une logique de vérification à l'interface d'origine ou ajouter un appel proxy pour implémenter le contrôle des autorisations. Nous ne pouvons pas réutiliser directement l'interface d'origine.
Face à des problèmes comme ceux ci-dessus, comment devons-nous les résoudre ? Passons maintenant au sujet principal de cet article : Service Gateway !

Afin de résoudre les problèmes ci-dessus, nous devons extraire des éléments tels que le contrôle des autorisations de nos unités de service, et l'endroit le plus approprié pour ces logiques est au début de l'accès externe. Nous avons besoin d'un plus A plus. Un puissant dispositif d'équilibrage de charge est ce que cet article présentera à l'avenir : une passerelle de service.

La passerelle de services fait partie intégrante de l'architecture des microservices. Dans le processus de fourniture uniforme d'API REST aux systèmes externes via la passerelle de service, en plus des fonctions de routage des services et d'équilibrage de charge, il dispose également d'un contrôle des autorisations et d'autres fonctions. Zuul dans Spring Cloud Netflix joue un tel rôle, en fournissant une protection de porte d'entrée pour l'architecture des microservices. En même temps, il migre le contenu de logique non métier plus lourd du contrôle des autorisations vers le niveau de routage des services, de sorte que le corps principal du cluster de services. peut avoir plus de capacités. Haute réutilisabilité et testabilité.

(7) Spring Cloud Bus

Dans (5) Spring Cloud Config, les fichiers de configuration que nous connaissons peuvent être stockés dans Git et à d'autres endroits via Config Server, via Config Client le lit, mais notre fichier de configuration ne peut pas toujours rester inchangé. Comment le mettre à jour lorsque notre fichier de configuration change ?

Le moyen le plus simple est de réobtenir le client de configuration, mais Spring Cloud ne vous permettra jamais de le faire. Spring Cloud Bus fournit une opération qui nous permet de réobtenir le service sans arrêter la mise à jour. notre configuration.

Signification officielle du Spring Cloud Bus : bus de messages.

Bien sûr, la mise à jour dynamique de la configuration du service n'est qu'une utilisation du bus de messages, et il existe de nombreuses autres utilisations.

Quels sont les sept composants majeurs de Spring Cloud ?

Résumé

Spring Cloud a plus de composants que ceux-ci Grâce à l'introduction verbale ci-dessus, vous devriez pouvoir avoir un aperçu général. Comprenant, je comprends, mais les fonctions de chaque composant sont bien plus que celles présentées ci-dessus. Chaque composant a également de nombreux autres points fonctionnels. J'espère que l'introduction ici pourra vous donner une introduction et n'aurez pas peur d'un si grand concept de microservices. .

Pour plus de connaissances sur la programmation, veuillez visiter : Vidéo de programmation ! !

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Racine carrée en Java Racine carrée en Java Aug 30, 2024 pm 04:26 PM

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Numéro Armstrong en Java Numéro Armstrong en Java Aug 30, 2024 pm 04:26 PM

Guide du numéro Armstrong en Java. Nous discutons ici d'une introduction au numéro d'Armstrong en Java ainsi que d'une partie du code.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

See all articles