为什么要搭建Eureka集群?
因为在真实的开发中,需要保证eureka服务一直可用,如果eureka无响应了,整个项目都会出现问题,为了避免这个问题,最好的方式就是搭建Eureka集群,多个eureka server之间可以同步注册服务,在一个eureka服务出现问题的时候,仍然可以提供服务注册和服务发现的能力,从而达到注册中心的高可用。
在之前的项目中,已经搭建了一个注册中心springcloud-eureka-7001
,接下来就再新建一个注册中心springcloud-eureka-7002
首先修改host文件
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
为了演示效果,新建两个映射。事实上访问的都是localhost,一般情况下不建议随意修改该文件。
新建springcloud-eureka-7002
工程
导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
在主启动类上增加注解@EnableEurekaServer
开启服务
编写配置文件
server:
port: 7002
eureka:
instance:
hostname: eureka7002.com
client:
register-with-eureka: false #是否向注册中心注册自己
fetch-registry: false #为false则表示为注册中心
service-url: #监控页面
defaultZone: http://eureka7001.com:7001/eureka/
修改springcloud-eureka-7001
服务的配置文件
server:
port: 7001
eureka:
instance:
hostname: eureka7001.com
client:
register-with-eureka: false #是否向注册中心注册自己
fetch-registry: false #为false则表示为注册中心
service-url: #监控页面
defaultZone: http://eureka7002.com:7002/eureka/
通过配置文件中的
defaultZone
属性来连接两个注册中心
http://eureka7002.com:7002
测试:
http://eureka7001.com:7001
测试:
集群节点连接成功!
注册服务进行测试
修改springcloud-provider-dept-8001
配置
eureka:
client:
service-url:
defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/
instance:
instance-id: springcloud-provider-dept8001
通过修改配置文件中的测试:defaultZone
属性来将springcloud-provider-dept-8001
服务同时注册到两个注册中心里
简单集群搭建成功!