Eclipse configuration d'exécution SpringCloud (Hoxton + 2.2.4) Cadre + Micro pour construire des services Eureka et Eureka serveur haute disponibilité cluster

springcloud est un maître de l' architecture micro-services, basée sur le renforcement des springboot, une série de composants excellents ont été intégrés.
Insérer ici l'image Description
Document chinois: https: //springcloud.cc/
document officiel: http: //projects.spring.io/spring-cloud/#quick-start

Build Environment

S'il vous plaît assurez-vous de noter la relation entre les matchs de version de démarrage de printemps et version nuage de printemps: https: //spring.io/projects/spring-cloud

logiciel édition
Nuage, printemps, Hoxton.RELEASE
Spring Boot 2.2.4.RELEASE
Jdk 1.8
Maven 3.6

Tout d'abord, créer un registre

Insérer ici l'image Description
Préparation du fichier POM pour ajouter package d'applications de base Spring-Cloud

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <!-- 模型版本。maven2.0必须是这样写,现在是maven2唯一支持的版本 -->
  <modelVersion>4.0.0</modelVersion>
  <!-- 项目的的唯一标识符,并且配置时生成的路径也是由此生成,maven会将该项目打成的jar包放本地路径:/com/springcloud --> 
  <groupId>com.springcloud</groupId>
  <!-- 构件的标识符,它和group ID一起唯一标识一个构件,一个groupId下面可能多个项目,就是靠artifactId来区分的。
  Maven为项目产生的构件包括:JARs,源码,二进制发布和WARs等 -->
  <artifactId>springcloud-root</artifactId>
  <!-- 项目当前版本号,格式为:主版本.次版本.增量版本-限定版本号 -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- 项目产生的构件类型,如pom,jar, maven-plugin, ejb, war, ear, rar, par,默认为jar -->
  <packaging>pom</packaging>
  <!-- 项目的名称, Maven产生的文档用 --> 
  <name>spring-cloud</name>
  <!-- 项目主页的URL, Maven产生的文档用 -->
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
  <!-- 父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。坐标包括group ID,artifact ID和 version。 --> 
  <parent>
    <!-- 被继承的父项目的唯一标识符 -->
    <groupId>org.springframework.boot</groupId>
    <!-- 被继承的父项目的构件标识符 -->
    <artifactId>spring-boot-starter-parent</artifactId>
    <!-- 被继承的父项目的版本 --> 
    <version>2.2.4.RELEASE</version>
  </parent>
  <modules>
    <!--注册中心项目-->
    <module>spring-register</module>
    <module>springcloud-eureka</module>
    <module>springcloud-common</module>
    <module>springcloud-zuul</module>
    <module>springcloud-eureka-cluster</module>
  </modules>
 
  <!-- 该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。自动从项目定义的仓库中下载。--> 
  <dependencyManagement>
    <dependencies>
      <dependency>
        <!-- 依赖的group ID --> 
        <groupId>org.springframework.cloud</groupId>
        <!-- 依赖的artifact ID -->
        <artifactId>spring-cloud-dependencies</artifactId>
        <!-- 依赖的版本号。 在Maven 2里, 可以配置成版本号的范围。 -->
        <version>Hoxton.RELEASE</version>
        <!-- 依赖类型。 -->
        <type>pom</type>
        <!-- 依赖范围。在项目发布过程中,帮助决定哪些构件被包括进来
           - compile :默认范围,用于编译 
           - provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath 
           - runtime: 在执行时需要使用 
           - test: 用于test任务时使用 
           - system: 需要外在提供相应的元素。通过systemPath来取得 
           - systemPath: 仅用于范围为system。提供相应的路径 
           - optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用 --> 
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <!--使用aliyun镜像-->
  <repositories>
    <repository>
      <id>alimaven</id>
      <name>Maven Aliyun Mirror</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

En second lieu, créer un projet de registre springcloud-eureka

architecture service de micro est la partie essentielle de la gestion des services, la composante la plus fondamentale de la gouvernance est un centre de service agréé. Printemps soutien Nuage Zookeeper, Consul et Eureka, la recommandation officielle Eureka.

Créer un module Maven, désigné par le répertoire parent maven

Insérer ici l'image Description

dépendances Ajouter un fichier pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.springcloud</groupId>
    <artifactId>springcloud-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-eureka</artifactId>
  <name>springcloud-eureka</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
      <version>2.2.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-webflux</artifactId>
      <version>2.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
printemps-nuage-démarreur eureka-serveur: jar manque 错误
Project build error: 'dependencies.dependency.version' for org.springframework.cloud:spring-cloud-starter-eureka-server:jar is missing.

changer: printemps-nuage-démarreur-eureka-serveur pour le printemps-nuage-démarreur-netflix eureka-serveur

Registre Ajouter une classe de démarrage

Insérer ici l'image Description

package org.springcloud.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication //spring-boot 启动注解
@EnableEurekaServer // spring-cloud 服务注解

public class RegisterMain 
{
    public static void main( String[] args )
    {
    	SpringApplication.run(RegisterMain.class, args);
    }
}

fichier de configuration Application.yml

Insérer ici l'image Description

spring:
  application:
    # 当前服务名
    name: springcloud-eureka
  freemarker:
    prefer-file-system-access: false
server:
  # 端口号
  port: 8899
---
eureka:
  instance:
    hostname: localhost
  client:
    # 检索服务
    fetch-registry: false
    # 是否将自己注册到eureka
    register-with-eureka: false
    # 客户端默认去这个地址找注册中心
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  server:
    # 当eureka启动时,不能从集群节点中获取到instance注册信息,应该等多久
    wait-time-in-ms-when-sync-empty: 0
    enable-self-preservation: true
    # eureka多长时间更新一次数据
    peer-eureka-nodes-update-interval-ms: 100000
ERREUR org.springframework.boot.SpringApplication - exécution de l'application n'a pas 错误
15:02:33.112 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V
	at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:157)
	at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:98)
	at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:64)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140)
	at org.springcloud.eureka.RegisterMain.main(RegisterMain.java:16)

compatibilité de version de démarrage de ressort provoqué modifier le fichier de configuration dans pom.xml, version correspondante springcloud avec springboot d'entre eux peuvent être résolus.

relation de correspondance Version démarrage de printemps et versions nuage printemps:
https://spring.io/projects/spring-cloud

Nuage, printemps, Spring Boot
Hoxton 2.2.x
Greenwich 2.1.x
Finchley Compatible Spring Boot 2.0.x, n'est pas compatible avec Spring Boot 1.5.x
Dalston 和 Edgware Compatible Spring Boot 1.5.x, n'est pas compatible avec Spring Boot 2.0.x
Camden 1.4.x Compatible Spring Boot, également compatible avec Spring Boot 1.5.x
Brixton 1.3.x Compatible Spring Boot, également compatible avec Spring Boot 1.4.x
APPLICATION DE DÉBUT 错误 ECHEC
***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.springframework.cloud.client.discovery.health.DiscoveryCompositeHealthIndicator.<init>(DiscoveryCompositeHealthIndicator.java:41)

The following method did not exist:

    org.springframework.boot.actuate.health.CompositeHealthIndicator.<init>(Lorg/springframework/boot/actuate/health/HealthAggregator;)V

The method's class, org.springframework.boot.actuate.health.CompositeHealthIndicator, is available from the following locations:

    jar:file:/E:/SpringBoot/Maven-Repository/org/springframework/boot/spring-boot-actuator/2.2.4.RELEASE/spring-boot-actuator-2.2.4.RELEASE.jar!/org/springframework/boot/actuate/health/CompositeHealthIndicator.class

It was loaded from the following location:

    file:/E:/SpringBoot/Maven-Repository/org/springframework/boot/spring-boot-actuator/2.2.4.RELEASE/spring-boot-actuator-2.2.4.RELEASE.jar

La version avec springboot de springcloud de la correspondance peut être résolu.

Impossible de démarrer le serveur web réactif 错误
org.springframework.context.ApplicationContextException: Unable to start reactive web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ReactiveWebApplicationContext due to missing ReactiveWebServerFactory bean.
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.onRefresh(ReactiveWebServerApplicationContext.java:81) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-5.2.3.RELEASE.jar:5.2.3.RELEASE]
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) [spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springcloud.eureka.RegisterMain.main(RegisterMain.java:15) [classes/:na]
Caused by: org.springframework.context.ApplicationContextException: Unable to start ReactiveWebApplicationContext due to missing ReactiveWebServerFactory bean.
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.getWebServerFactoryBeanName(ReactiveWebServerApplicationContext.java:100) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.createWebServer(ReactiveWebServerApplicationContext.java:88) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.onRefresh(ReactiveWebServerApplicationContext.java:78) ~[spring-boot-2.2.4.RELEASE.jar:2.2.4.RELEASE]

Ajouter la dépendance webflux

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-webflux</artifactId>
  <version>2.2.4.RELEASE</version>
</dependency>

classe Run, visitez http: // localhost: 8899 à la figure suivante
Insérer ici l'image Description
registre est terminée.

En troisième lieu, la configuration du mot de passe de registre

Augmentation pom.xml dans:

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-security</artifactId>
      <version>2.2.4.RELEASE</version>
    </dependency>

Dans cette version site mai:
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security

fichier de configuration d'augmentation application.yml

spring:
  application:
    name: springcloud-eureka
  freemarker:
    prefer-file-system-access: false
  security:
    basic: 
      enable: true
    user: 
      name: admin
      password: 123456
server:
  port: 8899
---
eureka:
  instance:
    hostname: localhost
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://${security.user.name}:${security.user.password}@${eureka.instance.hostname}:${server.port}/eureka/
  server:
    wait-time-in-ms-when-sync-empty: 0
    enable-self-preservation: true
    peer-eureka-nodes-update-interval-ms: 100000

Après avoir démarré à nouveau à l' adresse http: // localhost: 8899, la figure suivante ,
Insérer ici l'image Description
entrez le nom d'utilisateur et mot de passe pour accéder à la page

Quatrièmement, pour créer un registre de service au Registre

Créer un projet de module maven
Insérer ici l'image Description
Insérer ici l'image Description

dépendances Ajouter un fichier pom.xml

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.springcloud</groupId>
    <artifactId>springcloud-root</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>springcloud-common</artifactId>
  <name>springcloud-common</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
      <version>2.2.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-webflux</artifactId>
      <version>2.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Ajouter la classe Client

package org.springcloud.common;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient //Eureka Client

public class CommonClient 
{
    public static void main( String[] args )
    {
    	SpringApplication.run(CommonClient.class, args);
    }
}

fichier de configuration Application.yml

spring:
  application:
    name: springcloud-common
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
    
server:
  port: 8001
  
eureka:
  instance:
    hostname: localhost
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:8899/eureka/

Le client exécute la classe de démarrage, vous pouvez voir que le client a été enregistré sur le serveur, comme indiqué ci-dessous
Insérer ici l'image Description

ne peut pas exécuter une demande sur un serveur de savoir 错误

Ajouter un service de première classe de certification de sécurité eurka
Insérer ici l'image Description

package org.springcloud.eureka;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;

@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // Configure HttpSecurity as needed (e.g. enable http basic).
        http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER);
        http.csrf().disable();
        //为了可以使用 http://${user}:${password}@${host}:${port}/eureka/ 这种方式登录,所以必须是httpBasic,
        http.authorizeRequests().anyRequest().authenticated().and().httpBasic();
    }
}

Relancez.

Cinq, Eureka Cluster haute disponibilité

Insérer ici l'image Description
Les tiers de copie de fichiers application.yml: application peer1.yml, application peer2.yml , application peer3.yml.
Insérer ici l'image Description
CI ont été ajoutés comme suit:

  • application peer1.yml
spring:
  application:
    name: springcloud-eureka-cluster
  freemarker:
    prefer-file-system-access: false
  security:
    user: 
      name: admin
      password: 123456
server:
  port: 8897
---
eureka:
  instance:
    hostname: eureka-peer1.com
    instance-id: eureka-peer1
  client:
    fetch-registry: true
    register-with-eureka: true
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/
  • application peer2.yml
spring:
  application:
    name: springcloud-eureka-cluster
  freemarker:
    prefer-file-system-access: false
  security:
    user: 
      name: admin
      password: 123456
server:
  port: 8898
---
eureka:
  instance:
    hostname: eureka-peer2.com
    instance-id: eureka-peer2
  client:
    fetch-registry: true
    register-with-eureka: true
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/
  • application peer3.yml
spring:
  application:
    name: springcloud-eureka-cluster
  freemarker:
    prefer-file-system-access: false
  security:
    user: 
      name: admin
      password: 123456
server:
  port: 8899
---
eureka:
  instance:
    hostname: eureka-peer3.com
    instance-id: eureka-peer3
  client:
    fetch-registry: true
    register-with-eureka: true
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/

Modifier C: \ Windows \ System32 \ drivers \ etc \ hosts

127.0.0.1 eureka-peer1.com eureka-peer2.com eureka-peer3.com

Maven installer le paquet pot de production, pour démarrer les trois serveurs via les propriétés spring.profiles.active étaient les suivantes:

cd E:\SpringBoot\SpringCloud\springcloud-root\springcloud-eureka-cluster\target
java -jar springcloud-eureka-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar springcloud-eureka-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
java -jar springcloud-eureka-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3

Il peut également être configuré pour démarrer par Run Configurations
Insérer ici l'image Description

  • accès http://eureka-peer1.com:8897/
    Insérer ici l'image Description

  • accès http://eureka-peer2.com:8898/
    Insérer ici l'image Description

  • accès http://eureka-peer3.com:8899/
    Insérer ici l'image Description

Eureka nœuds du cluster sont enregistrés erreur de service dans Introuvables-répliques

  1. Chaque nom de l'application de noeud doit être identique
  2. Lorsqu'un test local chaque noeud dans la même machine, le besoin de nom d'hôte pour remplir l'hôte local, chaque nœud utilise son propre hôte
  3. préfèrent-ip adresse par défaut est définie sur true ou non remplissage.
  4. inscrivez-vous-avec-eureka et fetch-registre sont vraies
  5. defaultZone pas utiliser localhost, besoin d'utiliser votre propre nom de domaine configuré dans l'hôte dans un des éléments de configuration du cluster autre que leur propre dans tous les nœuds.

Non compilateur est fourni dans cet environnement. Peut-être que vous êtes sur un JRE plutôt que d'un JDK? 错误

https://blog.csdn.net/lslk9898/article/details/73836745

Sixième, lancer plusieurs instances fournisseurs de services

Démarrer pluralité instance springcloud-eureka-fournisseur, ports 8001,8002 et 8003, respectivement
Insérer ici l'image Description

  • application provider1.yml
spring:
  application:
    name: springcloud-eureka-provider
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
    
server:
  port: 8001
  
eureka:
  instance:
    hostname: eureka-provider1.com
    instance-id: eureka-provider1
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/
  • application provider2.yml
spring:
  application:
    name: springcloud-eureka-provider
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
    
server:
  port: 8002
  
eureka:
  instance:
    hostname: eureka-provider2.com
    instance-id: eureka-provider2
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/
  • application provider3.yml
spring:
  application:
    name: springcloud-eureka-provider
  freemarker:
    prefer-file-system-access: false
  security:
    user:
      name: admin
      password: 123456
    
server:
  port: 8003
  
eureka:
  instance:
    hostname: eureka-provider3.com
    instance-id: eureka-provider3
  client:
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer1.com:8897/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer2.com:8898/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka-peer3.com:8899/eureka/

Modifier C: \ Windows \ System32 \ drivers \ etc \ hosts

127.0.0.1 eureka-provider1.com eureka-provider2.com eureka-provider3.com

Configuration a commencé par Run Configurations
Insérer ici l'image Description

Voir le registre Eureka

http://eureka-peer1.com:8897/
Insérer ici l'image Description
http://eureka-peer2.com:8898/,http://eureka-peer3.com:8899/ résultats ci - dessus.
par exemple trois fournisseur de services a été enregistré avec succès.

Publié 72 articles originaux · louange gagné 66 · Vues 150000 +

Je suppose que tu aimes

Origine blog.csdn.net/miaodichiyou/article/details/104160284
conseillé
Classement