SpringCloud2.0搭建高可用注册中心
Eureka高可用原理
默认情况下Eureka是让服务注册中心,不注册自己,Eureka高可用实际上将自己作为服务向其他服务注册中心注册自己,这样就可以形成一组相互注册的服务注册中心,从而实现服务清单的互相同步,达到高可用效果。
Eureka集群环境搭建
1. eureka-server-01配置
###服务端口号
server:
port: 8100
###eureka 基本信息配置
spring:
application:
name: eureka-server
eureka:
instance:
###注册到eurekaip地址
hostname: 127.0.0.1
client:
serviceUrl:
defaultZone: http://127.0.0.1:8200/eureka/
###因为自己是为注册中心,不需要自己注册自己
register-with-eureka: true
###因为自己是为注册中心,不需要检索服务
fetch-registry: true
# 测试时关闭自我保护机制,保证不可用服务及时踢出
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 2000
2. eureka-server-02配置
###服务端口号
server:
port: 8200
###eureka 基本信息配置
spring:
application:
name: eureka-server
eureka:
instance:
###注册到eurekaip地址
hostname: 127.0.0.1
client:
serviceUrl:
defaultZone: http://127.0.0.1:8100/eureka/
###因为自己是为注册中心,不需要自己注册自己
register-with-eureka: true
###因为自己是为注册中心,不需要检索服务
fetch-registry: true
# 测试时关闭自我保护机制,保证不可用服务及时踢出
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 2000
3. 客户端集成Eureka集群
#注册中心集群地址
eureka:
client:
service-url:
defaultZone: http://localhost:8100/eureka,http://localhost:8200/eureka
4. 服务启动验证
分别启动eureka-server-01,eureka-server-02及order-server服务即可看到效果,假如把eureka-server-01强制shutdown,备用服务便会自动切换,保证服务的高可用性。