Eclipse runtime configuration SpringCloud (Hoxton + 2.2.4) + Micro Services Framework to build Eureka and Eureka Server high availability cluster

springcloud is a master of micro-service architecture, based on springboot building, a series of excellent components were integrated.
Here Insert Picture Description
Chinese document: https: //springcloud.cc/
official document: http: //projects.spring.io/spring-cloud/#quick-start

Build Environment

Please be sure to note the relationship between spring boot version matches and spring cloud version: https: //spring.io/projects/spring-cloud

software version
Spring Cloud Hoxton.RELEASE
Spring Boot 2.2.4.RELEASE
Jdk 1.8
Maven 3.6

First, create a registry

Here Insert Picture Description
Preparation of POM file to add Spring-Cloud basic application package

<?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>

Second, create a registry project springcloud-eureka

Micro-service architecture is the core part of the service management, the most basic component of governance is a registered service center. Spring Cloud support Zookeeper, Consul and Eureka, the official recommendation Eureka.

Create a maven-module, designated by the parent directory maven

Here Insert Picture Description

Add file dependencies 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>
spring-cloud-starter-eureka-server:jar is missing 错误
Project build error: 'dependencies.dependency.version' for org.springframework.cloud:spring-cloud-starter-eureka-server:jar is missing.

change: spring-cloud-starter-eureka-server to spring-cloud-starter-netflix-eureka-server

Add registry startup class

Here Insert Picture 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);
    }
}

Application.yml configuration file

Here Insert Picture 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
ERROR org.springframework.boot.SpringApplication - Application run failed 错误
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)

spring boot version compatibility caused modify the configuration file in pom.xml, corresponding version springcloud with springboot of them can be solved.

matching relationship spring boot version and spring cloud versions:
https://spring.io/projects/spring-cloud

Spring Cloud Spring Boot
Hoxton 2.2.x
Greenwich 2.1.x
Finchley Compatible Spring Boot 2.0.x, is not compatible with Spring Boot 1.5.x
Dalston和Edgware Compatible Spring Boot 1.5.x, is not compatible with Spring Boot 2.0.x
Camden Compatible Spring Boot 1.4.x, also compatible with Spring Boot 1.5.x
Brixton Compatible Spring Boot 1.3.x, also compatible with Spring Boot 1.4.x
APPLICATION FAILED TO START 错误
***************************
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

The version with springboot of springcloud of correspondence can be solved.

Unable to start reactive web server 错误
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]

Add webflux dependence

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

Run startup class, visit http: // localhost: 8899 to the following figure
Here Insert Picture Description
registry has been completed.

Third, the registry password configuration

Increase in POM.xml in:

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

In this version may website:
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security

application.yml increase configuration file

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

After starting again at http: // localhost: 8899, the following figure
Here Insert Picture Description
enter the user name and password to enter the page

Fourth, to create a service registry to registry

Create a maven module project
Here Insert Picture Description
Here Insert Picture Description

Add file dependencies 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>

Add Client startup class

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);
    }
}

Application.yml configuration file

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/

The client runs the startup class, you can see that the client has been registered to the server, as shown below
Here Insert Picture Description

cannot execute any request on any know server 错误

Add a safety certification class service in eurka
Here Insert Picture 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();
    }
}

Re-run.

Five, Eureka High Availability Cluster

Here Insert Picture Description
The application.yml file copy thirds: application-peer1.yml, application-peer2.yml , application-peer3.yml.
Here Insert Picture Description
CI were added as follows:

  • 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/

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

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

maven install generating jar package, to start the three servers via spring.profiles.active properties were:

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

It can also be configured to start by Run Configurations
Here Insert Picture Description

  • Access http://eureka-peer1.com:8897/
    Here Insert Picture Description

  • Access http://eureka-peer2.com:8898/
    Here Insert Picture Description

  • Access http://eureka-peer3.com:8899/
    Here Insert Picture Description

Eureka cluster nodes are registered service error in the unavailable-replicas

  1. Each node application name must be identical
  2. When a local test each node in the same machine, hostname need to fill in the local host, each node uses its own host
  3. prefer-ip-address default is set to true or not fill.
  4. register-with-eureka and fetch-registry are true
  5. defaultZone not use localhost, need to use your own domain name configured in the host in a cluster configuration items other than their own in all nodes.

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?错误

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

Sixth, launch multiple instances service providers

Start plurality springcloud-eureka-provider instance, ports 8001,8002 and 8003, respectively
Here Insert Picture 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/

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

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

Configuring started by Run Configurations
Here Insert Picture Description

View Eureka registry

http://eureka-peer1.com:8897/
Here Insert Picture Description
http://eureka-peer2.com:8898/,http://eureka-peer3.com:8899/ results above.
Three service provider instance has been successfully registered.

Published 72 original articles · won praise 66 · Views 150,000 +

Guess you like

Origin blog.csdn.net/miaodichiyou/article/details/104160284