Eureka集群
Eureka作为SpringCloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况,具有较强容灾能力的eureka集群服务。
首先,参考eureka服务端7001的模块,分别创建eureka7002和eureka7003模块,另外还要做如下修改。还记得我们在7001中配置的eureka.instance.hostname为localhost,那么现在在集群的环境中,如果还是这样的话,就没法区分三个服务端,所以我们需要在hosts文件中添加映射,以及在对应模块中修改服务名。
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7002.com
eureka7001模块的application.yml
server:
port: 7001
eureka:
instance:
hostname: eureka7001.com #eureka服务端的名称
client:
register-with-eureka: false #不在注册中心注册自己
fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
service-url:
defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
eureka7002模块的application.yml
server:
port: 7002
eureka:
instance:
hostname: eureka7002.com #eureka服务端的名称
client:
register-with-eureka: false #不在注册中心注册自己
fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/
eureka7003模块的application.yml
server:
port: 7003
eureka:
instance:
hostname: eureka7003.com #eureka服务端的名称
client:
register-with-eureka: false #不在注册中心注册自己
fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
另外需要注意,我们之前在服务提供者8001中的配置是,将服务注册到服务端7001上,那么现在是集群环境,有三个服务端,所以需要将提供的服务注册到三个EurekaServer上,所以需要修改服务提供者8001的注册地址。
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
以上eureka的集群配置基本完成,然后我们测试一下,启动三个EurekaServer,并将服务提供者8001启动,访问eureka7001.com:7001。
我们看到,服务提供者已经将服务注册到注册中心了,而且我们访问的是7001,上面挂载着另外两个7002和7003。这里我相信大家都明白了,如果我们访问eureka7002.com:7002,同样的服务已经注册进来,而且挂载着7001和7003,那么访问eureka7003.com:7003亦是如此。
本文转自https://www.jianshu.com/p/c9330b450050
等你看到的时候,想变得有一点点不一样