spring cloud eureka server 集群配置 要点

翻看了不少网上的教程   千篇一律 那些该配置 不该配置很模糊 很多都是入门教程  经过个人实践 总结了eureka server 几个要点:

springcloud 版本  Dalson.SR4

#  eureka server 高可用 配置  要点  eureka.instance.prefer-ip-address 不建议设置为true
#  eureka.client.registerWithEureka、 eureka.client.fetchRegistry 都要设置为true   默认值都为true
#  eureka.instance.appname  =spring.application.name
#  重要  defaultZone  高可用 不要使用ip 应该使用相应的域名DNS来配置   也就是 eureka.instance.hostname  指定DNS

每个分片必须指定hostname  不然当前分片显示不可用

eureka:
  instance:
    hostname: cluster1

最后一条很重要 分片是否成功的关键 一定要用dns来配置

windows 下 改host文件  linux 或者其他环境一样

样例配置   采用 3个实例集群  8761->8762->8763->8761     application.yml 如下:

运行指定配置文件spring.profiles.active=配置项   例如在springboot 可执行jar路径下 命令行执行 

java -jar discovery-server-1.0-SNAPSHOT.jar --spring.profiles.active=master

启动了master 配置    红字换cluster1 对应启动 cluster1配置   相关 为springboot 特性

#  eureka server 高可用 配置  要点  eureka.instance.prefer-ip-address 不建议设置为true
#  eureka.client.registerWithEureka、 eureka.client.fetchRegistry 都要设置为true   默认值都为true
#  eureka.instance.appname  =spring.application.name
#  重要  defaultZone  高可用 不要使用ip  应该使用dns 也就是 eureka.instance.hostname  指定dns
#  本配置文件支持HA集群  3个实例组成三角关系   eg  8761->8762->8763->8761


# 公共配置
spring:
  application:
    name: DISCOVERY-SERVER
#  默认启动 master 配置
  profiles:
    active: master
eureka:
# 将监控页面的 test 环境更改为prod 强迫症患者的福音
  environment: prod
  instance:
    appname: DISCOVERY-SERVER
# 页面显示ip:端口    
    instance-id: ${spring.cloud.client.ipAddress}:${server.port}
  client:
    healthcheck:
      enabled: true
#   向服务注册中心注册  默认为true  此处为了着重强调一下
    register-with-eureka: true
#    检索服务 默认为true  此处为了着重强调一下
    fetch-registry: true

# master 配置
---
server:
  port: 8761
spring:
  profiles: master
eureka:
  instance:
# 此处应指定为dns 不使用 IP 或者localhost  
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:8762/eureka/

# cluster1 配置
---
server:
  port: 8762
spring:
  profiles: cluster1
eureka:
  instance:
# 此处应指定为dns 不使用 IP 或者localhost
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer3:8763/eureka/

# cluster2 配置
---
server:
  port: 8763
spring:
  profiles: cluster2
eureka:
  instance:
# 此处应指定为dns 不使用 IP 或者localhost
    hostname: peer3
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/

如果发现错误之处  还望指教 及时私信我

猜你喜欢

转载自my.oschina.net/u/2948566/blog/1610181