springcloud学习笔记-使用多个eureka并连接客户端和服务端:

(1)两个eureka相关联
这里使用两个eureka一个端口为7001,一个端口为7002:
两个eureka的pom.xml依赖一样:
跟客户端和服务端主要是多了个:

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

开始前设置地址映射:在:C:\Windows\System32\drivers\etc\host 文件下加入
127.0.0.1 eureka7001.com (注意有空格)
127.0.0.1 eureka7002.com (注意有空格)
让 eureka7001.com,eureka7 002.com映射主机地址

然后是7001端口的
application.yml:

server:
  port: 7001
eureka:
  instance:
    hostname: eureka7001.com
  client:
    #false表示不行注册中心注册自己,
    register-with-eureka: false
    #false表示自己端就是注册中心,我的职责是维护服务实例,不需要检索服务
    fetch-registry: false
    service-url:
      #设置与Eureka Server交互的的地址查询服务和注册服务都需要依赖这个地址
      defaultZone: http://eureka7002.com:7002/eureka/
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型
    driver-class-name: org.gjt.mm.mysql.Driver             # mysql驱动包
    url: jdbc:mysql://localhost:3306/db2019?useUnicode=true&characterEncoding=utf-8&useSSL=false

这是7002端口的
application.yml:

server:
  port: 7002
eureka:
  instance:
    hostname: eureka7002.com
  client:
    #false表示不行注册中心注册自己,
    register-with-eureka: false
    #false表示自己端就是注册中心,我的职责是维护服务实例,不需要检索服务
    fetch-registry: false
    service-url:
      #设置与Eureka Server交互的的地址查询服务和注册服务都需要依赖这个地址
      defaultZone: http://eureka7001.com:7001/eureka/
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型
    driver-class-name: org.gjt.mm.mysql.Driver             # mysql驱动包
    url: jdbc:mysql://localhost:3306/db2019?useUnicode=true&characterEncoding=utf-8&useSSL=false

这两个通过配置文件得以相关联:
最后写两个eureka的主启动类:(记得加上@EnableEurekaServer注解)
7001端口:

@SpringBootApplication
@EnableEurekaServer
public class EurekaMain7001 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain7001.class,args);
    }
}

7002端口:

@SpringBootApplication
@EnableEurekaServer
public class EurekaMain7002 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain7002.class,args);
    }
}

开始先测试这两个eureka关联是否成功:
访问http://localhost:7001/
springcloud学习笔记-使用多个eureka并连接客户端和服务端:_第1张图片

和http://localhost:7002/
springcloud学习笔记-使用多个eureka并连接客户端和服务端:_第2张图片

在DS Replicas里能看见对方就说明两个eureka关联成功。

(2)客户端关联eureka
pom.xml加入新依赖:

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

客户端的application.yml新加入:

eureka:
  client:
    #是否让自己注册EurekaServer 默认为true
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息, 默认为true 单节点无所谓,集群必须设置为true,才能配合ribbon负载均衡
    fetchRegistry: true
    service-url:
      #defaultZone: http://localhost:7001/eureka
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka #集群板

客户端主启动类上加入:@EnableEurekaClient

@SpringBootApplication
@EnableEurekaClient
public class OrderMain8002 {
    public static void main(String[] args) {
        SpringApplication.run(OrderMain8002.class,args);
    }

}

(3)服务端关联eureka(一般是多个服务器)
pom.xml跟客户端一样先加入依赖:

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

application.yml新加入:

eureka:
  client:
    #是否让自己注册EurekaServer 默认为true
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息, 默认为true 单节点无所谓,集群必须设置为true,才能配合ribbon负载均衡
    fetchRegistry: true
    service-url:
      #host文件里做了映射主机地址127.0.0.1 到了eureka7001.com上
      # defaultZone: http://localhost:7001/eureka
     defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka #集群板

最后主启动类里加入:@EnableEurekaClient

@SpringBootApplication
@EnableEurekaClient
public class PaymentMain8001 {
    public static void main(String[] args) {
                SpringApplication.run(PaymentMain8001.class,args);
    }

}

然后启动测试:
7001端口:

springcloud学习笔记-使用多个eureka并连接客户端和服务端:_第3张图片
7002端口:
springcloud学习笔记-使用多个eureka并连接客户端和服务端:_第4张图片
出现则表示,eureka和客户端和服务端的关联成功。

你可能感兴趣的:(springcloud学习随笔,java)