一.简介
学习Zookepper服务注册的时候,注册中心是能实现高可用的,但现在的Eureka还是单节点的情况,如果Eureka出现了错误,将会导致整个集群无法继续使用,这个时候就需要考虑Eureka的高可用了。
二.核心代码
前提:避免DNS解析,所以我们选择修改hosts文件实现。在文件作出以下配置
127.0.0.1 eureka1
127.0.0.1 eureka2
127.0.0.1 eureka3
1.application.yml的配置
server:
port: 7001
eureka:
server:
eviction-interval-timer-in-ms: 1000 #设置清理的间隔时间,而后这个时间使用的是毫秒单位(默认是60秒)
enable-self-preservation: false #设置为false表示关闭保护模式
client:
fetch-registry: false
register-with-eureka: false
service-url:
#defaultZone: http://admin:enjoy@localhost:7001/eureka
defaultZone: http://admin:enjoy@eureka1:7001/eureka,http://admin:enjoy@eureka2:7002/eureka,http://admin:enjoy@eureka3:7003/eureka
instance: # eureak实例定义
hostname: eureka1 # 定义 Eureka 实例所在的主机名称
其他三个服务端也模仿这个配置即可,只需修改
port,hostname
即可,具体意思也做了注释
admin:enjoy@
这个处于安全控制,做了服务之间的认证,不涉及可直接去掉。
三.结论
启动三台服务器,在浏览器输入http://eureka1:7001/login
如果设置了认证首先看到这个
输入你上面设置的admin:enjoy即可登录进去。
在eureka1节点上面可以看到eureka2和eureka3节点,说明配置高可用HA成功。