Spring Cloud Eureka高可用落地实战

一、原理

如图所示,多台Server端之间相互注册(这里以两台Server为例),Client端向所有的Server端注册。

二、Server端配置

1. 添加依赖

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

2. 使用@EnableEurekaServer注解,开启Server端

@EnableEurekaServer
@SpringBootApplication
public class TestEurekaApplication {

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

3. 增加配置

  为了配置方便,这里使用主机名代替IP,此处以单机为例,若多台机器,改为相应IP即可。

hosts配置:

127.0.0.1   peer1
127.0.0.1   peer2

application-peer1.yml配置:

server:
port: 2181
eureka:
client:
service-url:
defaultZone: http://peer2:2182/eureka/
instance:
hostname: peer1
prefer-ip-address: true

application-peer2.yml配置:

server:
port: 2182
eureka:
client:
service-url:
defaultZone: http://peer1:2181/eureka/
instance:
hostname: peer2
prefer-ip-address: true

 

三、Client端配置

1. 添加依赖

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

2. 使用@EnableDiscoveryClient注解,开启注册功能

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

 

3. 修改配置文件,添加所有的Server,用逗号隔开

# 注册中心
eureka:
  instance:
    prefer-ip-address: true
  client:
    service-url:
      defaultZone: http://peer1:2181/eureka/,http://peer2:2182/eureka/

四、查看Eureka

 

posted @ 2018-11-22 11:46  时间-海  阅读(238)  评论(0编辑  收藏  举报