您的位置:首页 > 编程语言 > Java开发

spring cloud高可用的注册中心

2018-07-09 16:26 316 查看
之前设置的注册中心是单点的,故障时比较容易出现问题。此前单点的配置,所以下面通过两个注册中心保证服务的高可用。

一 增加application-peer1.properties和application-peer2.properties如下所示,基本和单点的配置没区别,除了eureka.client.register-with-eureka=true

peer1的配置如下

spring.application.name=eureka-server1
server.port=1111
eureka.instance.hostname=peer1
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

peer2的配置如下:

spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/


二 设置peer1和peer2对应的ip地址为本地

为了让peer1和peer2能够被正确的访问到,我们需要在C:\Windows\System32\drivers\etc目录下的hosts文件总添加两行配置,如下:
127.0.0.1 peer1
127.0.0.1 peer2
由于peer1和peer2互相指向对方,实际上我们构建了一个双节点的服务注册中心集群在peer1的配置文件中,让它的service-url指向peer2,在peer2的配置文件中让它的service-url指向peer1

然后运行得到的jar文件,设置启动读取的参数文件为peer1和peer2

java -jar etst-1.0-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar etst-1.0-SNAPSHOT.jar --spring.profiles.active=peer2

然后登陆 http://peer1:1111 或者 http://peer2:1112就可以看见两者相互引用

三 测试

仿照之前的测试例子,配置文件改为如下所示:

#服务器ip
eureka.instance.hostname=localhost
#访问地址 http://localhost:8761 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka,http://peer2:1112/eureka
spring.application.name=hello-service


启动访问即可看见在peer1和peer2上都有了hello-service的注册信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Eureka Spring Spring Cloud