题记:
介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,这篇文章主要介绍怎么将Eureka Server集群化。
Eureka通过运行多个实例,使其更具有高可用性。事实上,这是它默认的熟性,你需要做的就是给对等的实例一个合法的关联serviceurl。
修改(一)的配置文件:
server:
port: 8761
spring:
application:
name: springcloud-eureka-server
# jmx:
# default-domain: eureka8761
#spring:
# profiles:
# active: dev
eureka:
# server:
# enable-self-preservation: false
instance:
# hostname: eureka
#将IP注册到eureka中,如果为false默认注册主机名
#当 eureka.instance.ip-address 和 eureka.instance.prefer-ip-address 都配置时,优先前者!
prefer-ip-address: true
client:
# false和fetchRegistry:false来表明自己是一个eureka server
#是否向服务注册中心注册自己(如果仅作为调用者,不提供服务,可以为false)
register-with-eureka: false
#是否检索服务(获取eureka服务列表)
fetch-registry: true
serviceUrl:
#defaultZone: http://${eureka.instance.hostname}:${server.port}
defaultZone: http://127.0.0.1:8760/eureka
添加第二个注册中心的配置文件:
server:
port: 8760
spring:
application:
name: springcloud-eureka-server
# jmx:
# default-domain: eureka8760
#spring:
# profiles:
# active: dev
eureka:
# server:
# enable-self-preservation: false
instance:
# hostname: eureka
prefer-ip-address: true
client:
# false和fetchRegistry:false来表明自己是一个eureka server
#是否向服务注册中心注册自己(如果仅作为调用者,不提供服务,可以为false)
register-with-eureka: false
#是否检索服务(获取eureka服务列表)
fetch-registry: true
serviceUrl:
#defaultZone: http://${eureka.instance.hostname}:${server.port}
defaultZone: http://127.0.0.1:8761/eureka
1 # Eureka注册中心配置
2 # server-port:项目端口号
3 # spring-application-name:项目注册到Eureka显示的调用名称,类似于域名
4 # eureka.client.register-with-erueka:是否将自己注册到Eureka,默认为true
5 # eureka.client.fetch-registry:是否向Eureka获取注册信息,默认为true
6 # spring.jmx.default-domain:区分spring-boot项目
7 # eureka.instance.hostname:作为eureka-server-001服务配置中心
8 # eureka.client.service-url.defaultZone:双节点注册
这里要如果起了别名,需要在hosts配置文件中添加配置:但是这里有一个问题,一直想通过不修改host文件实现两个注册中心的互相复制,如有大神看到希望指点一下。这里只有修改了host文件才能达到互相复制功能。