Eureka – 高可用
- 准备两个Eureka Server
- 分别进行配置,相互注册
- Eureka Client 分别注册到这两个 Eureka Server中
eureka-server-1相关配置
package eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
// 启用EurekaServer
@EnableEurekaServer
public class Eureka1App {
public static void main(String[] args) {
SpringApplication.run(Eureka1App.class, args);
}
}
server:
port: 8761
eureka:
instance:
hostname: eureka-server1 #主机名
# 访问eureka路径
client:
service-url:
defaultZone: http://eureka-server2:8762/eureka #eureka服务端地址,将来客户端使用该地址和eureka进行通信
register-with-eureka: true # 是否将自己的路径注册到eureka上。eureka server 不需要的 eureka provider client 需要
fetch-registry: true #是否需要从eureka中需要抓取路径。eureka server 不需要的 eureka consumer client 需要
spring:
application:
name: eureka-server-ha
eureka-server-2
package eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
// 启用EurekaServer
@EnableEurekaServer
public class Eureka2App {
public static void main(String[] args) {
SpringApplication.run(Eureka2App.class, args);
}
}
server:
port: 8762
eureka:
instance:
hostname: eureka-server2 #主机名
# 访问eureka路径
client:
service-url:
defaultZone: http://eureka-server1:8761/eureka #eureka服务端地址,将来客户端使用该地址和eureka进行通信
register-with-eureka: true # 是否将自己的路径注册到eureka上。eureka server 不需要的 eureka provider client 需要
fetch-registry: true #是否需要从eureka中需要抓取路径。eureka server 不需要的 eureka consumer client 需要
spring:
application:
name: eureka-server-ha
eureka-server中pom.xml配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- eureka-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
需要在本机的修改host
客户端测试
这就是集群 http://eureka-server1:8761/eureka,http://eureka-server2:8762/eureka把这个两个放到consumer和provider中
关闭Eureka2App相关配置还是能访问