项目地址:
https://github.com/zackzhangCN/SpringCloudDemo
##########################################################
Eureka server集群
-
在项目下再创建一个Example_Eureka2模块, 和Example_Eureka1一起做为eureka server集群使用.
-
编辑Example_Eureka2模块的pom文件
<packaging>jar</packaging>
<dependencies>
<!--引入eureka server依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
-
编辑Example_Eureka2模块的启动类
package cn.zack;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* @author zack
* 开启eureka server
*/
@SpringBootApplication
@EnableEurekaServer
public class Example_Eureka2_Application {
public static void main(String[] args) {
SpringApplication.run(Example_Eureka2_Application.class, args);
}
}
-
编辑Example_Eureka2模块的配置文件, 同时让两个eureka server互相注册
server:
port: 8762
spring:
application:
name: eureka-server
eureka:
instance:
# 当前实例的主机名
hostname: eureka2
server:
# 关闭注册中心的自我保护机制
enable-self-preservation: false
# 服务续约时间(扫描失效服务的时间间隔)
eviction-interval-timer-in-ms: 5000
client:
# 是否将自身注册到eureka server(默认为true)
register-with-eureka: true
# 是否从eureka server获取注册信息(默认为true),单机版eureka不需要同步其他eureka server的信息
fetch-registry: true
# eureka server交互地址,查询和注册服务都需要依赖这个地址,多个地址间使用,分割
service-url:
# 将eureka2注册到eureka1上
defaultZone: http://localhost:8761/eureka/
同时, 修改Example_Eureka1模块的配置文件, 让eureka server1不再注册到自身, 而是注册到eureka server2
eureka:
instance:
# 当前实例的主机名
hostname: eureka1
server:
# 关闭注册中心的自我保护机制
enable-self-preservation: false
# 服务续约时间(扫描失效服务的时间间隔,毫秒值)
eviction-interval-timer-in-ms: 5000
client:
# 是否将自身注册到eureka server(默认为true)
register-with-eureka: true
# 是否从eureka server获取注册信息(默认为true),单机版eureka不需要同步其他eureka server的信息
fetch-registry: true
# eureka server交互地址,查询和注册服务都需要依赖这个地址,多个地址间使用,分割
service-url:
# 将eureka1注册到eureka2上, 便于同步服务注册信息
defaultZone: http://localhost:8762/eureka/
-
将两个eureka server全部启动
无论是从localhost:8761或者localhost:8762都可以访问到eureka server的服务治理页.
由于两个eureka server的应用名一致, 所以归为一个微服务, 有两个存活节点.
-
启动Microservice_Example1
由于两个eureka server互相注册的, eureka server集群会同步服务列表, 无论这个服务注册到哪个eureka, 最终两个eureka server的服务列表中都会出现.