SpringCloud浅尝(四)——EurekServer 高可用

前面我们实现服务注册与发现,并实现在负载匀衡的接口调用。但是,我们的EurekaServer是单点的。虽然EurekaClient 会定时的连接EurekaServer,获取注册表里的信息进行缓存到本地,如果EurekaServer不可用了EurekaClient 就不会更新,就会影响微服务的调用,所以要一个有高可用的EurekaServer 集群,EurekaServer 可以通过运行多个实例来相互注册的方式实现高可用部署。从而保证里数据的一致性。

配置3台EurekaServer

spring: profiles:es01 application: name: eurekserver server: port: 8081 eureka: instance: hostname: localhost prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:8082/eureka/,http://${eureka.instance.hostname}:8083/eureka/---spring: profiles:es02 application: name: eurekserver server: port: 8082 eureka: instance: hostname: localhost prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:8081/eureka/,http://${eureka.instance.hostname}:8083/eureka/---spring: profiles:es03 application: name: eurekserver server: port: 8083 eureka: instance: hostname: localhost prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:8081/eureka/,http://${eureka.instance.hostname}:8082/eureka/


下面我们可以直接跑一下,上节使用的那几个实例。
EurekaDiscovery的配置,这里我们都只配置了一台EurekaServer的地址,为是更明显测试一下,EurekaServer的复制。

spring: profiles: dis01 application: name: eurekadiscovery server: port: 8001 eureka: client: serviceUrl: defaultZone: http://localhost:8081/eureka/---spring: profiles: dis02 application: name: eurekadiscovery server: port: 8002 eureka: client: serviceUrl: defaultZone: http://localhost:8081/eureka/

EurekaDiscovery2的配置,这里我们也只配了8082那台EurekaServer
spring: application: name: eurekadiscovery2 server: port: 8003 eureka: client: serviceUrl: defaultZone: http://localhost:8082/eureka/

分别启动这三个实例。
http://localhost:8081/http://localhost:8082/http://localhost:8083/
SpringCloud浅尝(四)——EurekServer 高可用
文章图片

【SpringCloud浅尝(四)——EurekServer 高可用】可以看出,这三个实例都已成功注册,并且3台EurekaServer都已经进行了复制。执行http://localhost:8003/hi?name=sl,EurekaDiscovery2可以成功的发现EurekaDiscovery实例并进行调用。
SpringCloud浅尝(四)——EurekServer 高可用
文章图片

    推荐阅读