Maison > Java > javaDidacticiel > le corps du texte

Analyse approfondie de la pratique Eureka de springCloud

无忌哥哥
Libérer: 2018-07-20 11:30:22
original
2995 Les gens l'ont consulté

1. Première introduction à springcloud

Les microservices sont une approche architecturale qui nécessitera à terme une architecture technique pour être mise en œuvre.

Il existe de nombreuses façons de mettre en œuvre des microservices, mais la plus populaire est Spring Cloud

Ce que Spring fait le mieux, c'est l'intégration, en prenant les meilleurs frameworks du monde et en les intégrant dans vos propres projets milieu.

Il en va de même pour Spring Cloud. Il intègre certaines des technologies les plus populaires actuellement et implémente des fonctions telles que : la gestion de la configuration, la découverte de services, le routage intelligent, l'équilibrage de charge, les fusibles, le bus de contrôle, l'état du cluster, etc. sur. Ses principaux composants comprennent :

  • Eureka : Centre d'inscription

  • Zuul : Passerelle de service
  • Ruban : Équilibrage de charge

  • Feign : Appel de service

  • Hystix : fusible

Aujourd'hui, nous faisons principalement connaissance avec le centre d'enregistrement Eureka de springcloud

Voici un exemple concret :

Avant l'émergence du covoiturage en ligne, les gens ne pouvaient appeler un taxi qu'en sortant. Certaines voitures particulières souhaitent être louées mais ne sont pas qualifiées et sont appelées voitures noires. Beaucoup de gens souhaitent réserver un taxi, mais malheureusement, il y a trop peu de taxis et ce n'est pas pratique. Il y a beaucoup de voitures particulières mais ils n'osent pas les arrêter, et parmi les voitures dans la rue, qui sait lesquelles sont prêtes à transporter des gens. L’un veut et l’autre est prêt à donner, mais il y a un manque d’introduction et de gestion.

À cette époque, des plateformes de covoiturage en ligne comme Didi sont apparues. Toutes les voitures privées qui souhaitent transporter des passagers doivent s'inscrire auprès de Didi et enregistrer votre modèle de voiture (type de service) et vos informations d'identité (coordonnées). Des voitures privées fournissant de tels services peuvent être trouvées sur Didi et elles sont clairement visibles d'un seul coup d'œil.

Ceux qui souhaitent appeler une voiture à ce moment-là n'ont qu'à ouvrir l'application, saisir votre destination, sélectionner le modèle de voiture (type de service) et Didi organisera automatiquement une voiture qui répond à vos besoins pour vous servir. .

Retournez à Eureka de Springcloud. Eureka est comme Didi, responsable de la gestion et de l'enregistrement des informations sur les fournisseurs de services. Les appelants n'ont pas besoin de trouver les services eux-mêmes, mais d'informer Eureka de leurs besoins, et Eureka vous indiquera ensuite les services qui répondent à vos besoins. Dans le même temps, le fournisseur de services et Eureka sont surveillés via le mécanisme “心跳” Lorsqu'un problème survient avec un fournisseur de services, Eureka le supprimera naturellement de la liste de services.

Cela réalise l'enregistrement, la découverte et la surveillance automatiques de l'état des services.

Analyse approfondie de la pratique Eureka de springCloud

Eureka : C'est le centre d'enregistrement du service (peut être un cluster), exposant sa propre adresse au monde extérieur

Fournisseur : Enregistrez vos informations auprès Eureka après le démarrage (adresse, quels services sont fournis)

Consommateur : Abonnez-vous à Eureka pour un service, Eureka enverra une liste de toutes les adresses des fournisseurs du service correspondant au consommateur et la mettra à jour régulièrement

Heartbeat (renouvellement) : les prestataires actualisent régulièrement leur statut vers Eureka via http

Pratique :

Organigramme du centre d'enregistrement Eureka :

Analyse approfondie de la pratique Eureka de springCloud

Complétez le fichier pom.xml et ajoutez des dépendances

Voici les principales parties du fichier pom

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.0.3.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
   <java.version>1.8</java.version>
   <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
   </dependency>
</dependencies>

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-dependencies</artifactId>
         <version>${spring-cloud.version}</version>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>
Copier après la connexion

Modifier la classe de démarrage

@SpringBootApplication
@EnableEurekaServer // 声明这个应用是一个EurekaServer
public class SpringcloudEurekaServerApplication {

   public static void main(String[] args) {

      SpringApplication.run(SpringcloudEurekaServerApplication.class, args);
   }
}
Copier après la connexion

Écrire la configuration application.yml

server:
  port: 8081 # 端口
spring:
  application:
    name: eureka-server # 应用名称,会在Eureka中显示
eureka:
  client:
    register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是true
    fetch-registry: false # 是否拉取其它服务的信息,默认是true
    service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
      defaultZone: http://127.0.0.1:${server.port}/eureka
Copier après la connexion

Exécuter le projet : visitez http://127.0.0.1:8081

Analyse approfondie de la pratique Eureka de springCloud

En ce moment, un Eureka Le centre d'enregistrement a été créé avec succès

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!