Spring cloud 高可用服务注册中心

之前的服务注册中心,只是一个单点的注册中心,即只有一个eureka。而高可用注册中心会有多个eureka,且这些eureka两两互相注册。

1:这里利用之前的eureka。在resource下创建application-peer1.properties

spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1

eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/

2:resource目录下继续创建application-peer2.properties

spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/

通过两个配置文件知道,单点的配置涉及阻止注册中心自己注册自己。而高可用的配置,发现两个注册中心相互注册。peer1指向peer2,peer2指向peer1

这个的好处就是当peer1的注册中心故障关闭时,在peer2上还是能正常操作,只是显示peer1不可用而已。

3:分别启动两个配置文件,这里我采用的是在IDEA上设置分别启动。因为我采用java -jar方式是失败了,maven甚至不能install,由于是个技术小白,还没有解决这个问题

 

 

 

 

 

按照上面的步骤就可以分别启动两个注册中心,因为两个注册中心会相互注册,当一个启动另一个没有启动时会报错,这个时候不用管出错的信息,正常启动就行。最后你会发现两个注册中心已经相互注册了,这两个服务注册形成了一个小的集群

 

4:访问http://peer1:11111/和http://peer2:1112/都能正常访问。

http://peer1:1111/或http://localhost:1111/

http://peer2:1112/或者http://localhost:1112/

 5:computer-server的项目上,更改application.properties的配置

 

spring.application.name=computer-service

service.port=2222

eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/S

 

6:启动服务,分别访问http://peer1:1111/和http://peer2:1112/

 

 

 

 7:关闭peer1,再次访问http://peer1:1111/和http://peer2:1112/

peer1的注册中心现在不能访问

peer2的注册中心仍能正常访问

综上:

  高可用作用:即使peer1的注册中心崩溃,在peer2上注册的服务仍能访问computer-server。

 

posted @ 2018-05-09 10:06  有书如玉  阅读(187)  评论(0编辑  收藏  举报