微服务:eureka(二)—操作、配置详解、优化和实战

1. eureka运行流程

eureka运行流程

2. 接口和操作

2.1 查看服务实例信息

  • 接口
    [GET] /eureka/apps/{appName}

  • 例子
    [GET] http://localhost:9700/eureka/apps/EUREKA-CLIENT-PRODVIDER

  • 结果

    <application>
    <name>SERVICE-PRODVIDER1</name>   ## 服务名字
    <instance>
    <instanceId>192.168.0.106:service-prodvider1:8762</instanceId>  ## 实例ID
    <hostName>192.168.0.106</hostName>
    <app>SERVICE-PRODVIDER1</app>
    <ipAddr>192.168.0.106</ipAddr>
    <status>UP</status>
    <overriddenstatus>UNKNOWN</overriddenstatus>
    <port enabled="true">8762</port>
    <securePort enabled="false">443</securePort>
    <countryId>1</countryId>
    ....
    

2.2 下线操作

2.2.1 客户端直接停止服务

  • 下线
    这种方式没有办法立刻让注册中心感知到,需要注册中心等待某一时间没有收到心跳之后,才将这个服务从注册列表中移除。

  • 恢复上线
    此种方式下对应上线操作,就是重新部署。

2.2.2 客户端通知Eureka下线

  • 下线
    使用actuator由客户端发起下线。调用客户端actuator提供的/shutdown/接口。执行完此操作之后,不仅停止了服务,还从eureka下线了。
    1. 在项目中引用actuator:
      <dependency>
      	<groupId>org.springframework.boot</groupId>
      	<artifactId>spring-boot-starter-actuator</artifactId>
      </dependency>
      
    2. 配置文件中添加
      #启用shutdown
      endpoints:
      	shutdown:
      		enabled: true
      #不进行密码验证(线上环境应该设置为true)
      management:
      	security:
      		enabled: false
      
    3. 通过POST方式执行实例的http://localhost:8765/shutdown。在postman执行结果如下:
      在这里插入图片描述
  • 上线
    重新部署服务

2.2.3 Eureka的delete操作

  • 下线

    • 接口
      [DELETE] /eureka/apps/{appName}/{instanceID}
    • 例子
      参数中appName和instaceId可以由查看服务实例信息接口获取,也可以通过erueka admin获取,如下:
      在这里插入图片描述
      注意:
      Eureka客户端每隔一段时间(默认30秒)会发送一次心跳到注册中心。在通过delte方式下线一个服务时,如果没有停掉的该服务,那么该服务很快就又会注册到Eureka。 所以在使用这种方式时,可以先kill掉服务,然后再执行delete操作,从注册中心移除改服务。
  • 恢复上线
    在此种方式下就是重新部署服务就可以让服务重新上线。

2.2.4 设置Eureka的服务实例状态

有时候我们下线服务实例之后,需要在不重新部署服务实例的情况下,重新上线服务实例。此时就使用这种方式。

  • 下线
    • 接口
      [PUT] /eureka/apps/{appName}/{instanceId}/status?value=OUT_OF_SERVICE
    • 实例
      通过postman使用 PUT方法 访问 http://localhost:8761/eureka/apps/SERVICE-PRODVIDER1/192.168.0.106:service-prodvider1:8762/status?value=OUT_OF_SERVICE,如下:
      在这里插入图片描述
      执行结果如下图,改实例状态变为OUT_OF_SERVICE
      在这里插入图片描述
  • 恢复上线
    • 接口
      [DELETE] /eureka/apps/{appName}/{instanceId}/status?value=UP
    • 实例
      通过postman使用 DELETE方法 访问 http://localhost:8761/eureka/apps/SERVICE-PRODVIDER1/192.168.0.106:service-prodvider1:8762/status?value=UP
      在这里插入图片描述
      执行后的结果为,服务实例重新上线,状态为”UP”
      在这里插入图片描述
      2.2.5 一个部署流程
      比较优雅的一种服务部署流程方式有:

**方式1 :**可以通过“设置Eureka的服务实例状态”下线机器;执行部署脚本:kill 服务、重新部署服务;再通过“设置Eureka的服务实例状态”上线此实例。

方式2: 先调用实例的/shutdown接口,然后重新部署该服务。

2.3 接口集合

来源于官网的翻译: https://github.com/Netflix/eureka/wiki/Eureka-REST-operations

appID 是应用程序的名称,instanceID 是与实例关联的唯一 ID。在 AWS 云中,instanceID 是实例的实例 ID,在其他数据中心,它是实例的主机名。

操作接口地址说明
注册新的应用实例POST /eureka/v2/apps/appID输入:JSON/XML;有效返回HTTP Code = 204 ,表示成功。
注销应用实例DELETE /eureka/v2/apps/appID/instanceIDHTTP Code = 200,表示成功。
发送应用实例心跳PUT /eureka/v2/apps/appID/instanceIDHTTP Code = 200,表示成功;HTTP Code = 404,表示instanceID不存在。
查询所有实例GET /eureka/v2/appsHTTP Code = 200,表示成功;输出:JSON/XML。
查询特定应用下的所有实例GET /eureka/v2/apps/appIDHTTP Code = 200,表示成功;输出:JSON/XML。
查询特定应用下的特定实例GET /eureka/v2/apps/appID/instanceIDHTTP Code = 200,表示成功;输出:JSON/XML。
查询特定实例GET /eureka/v2/instances/instanceIDHTTP Code = 200,表示成功;输出:JSON/XML。
停止实例服务PUT /eureka/v2/apps/appID/instanceID/status?value=OUT_OF_SERVICEHTTP Code = 200,表示成功;HTTP Code = 500,表示操作失败。
将实例移回服务(删除覆盖)DELETE /eureka/v2/apps/appID/instanceID/status?value=UP (value=UP是可选的,它用作:由于删除覆盖而导致的回退状态)HTTP Code = 200,表示成功;HTTP Code = 500,表示操作失败。
更新元数据PUT /eureka/v2/apps/appID/instanceID/metadata?key=valueHTTP Code = 200,表示成功;HTTP Code = 500,表示操作失败。
查询特定vip地址下的所有实例GET /eureka/v2/vips/vipAddressHTTP Code = 200,表示成功,输出:JSON/XML;HTTP Code = 404,表示vip地址不存在。
查询特定安全 vip 地址下的所有实例GET /eureka/v2/svips/svipAddressHTTP Code = 200,表示成功,输出:JSON/XML;HTTP Code = 404,表示vip地址不存在。

3. 配置详解

3.1 Eureka Client 配置项(eureka.client.*)

org.springframework.cloud.netflix.eureka.EurekaClientConfigBean

参数名称说明默认值
eureka.client.enabled用于指示Eureka客户端已启用的标志true
eureka.client.registry-fetch-interval-seconds指示从eureka服务器获取注册表信息的频率(s)30
eureka.client.instance-info-replication-interval-seconds更新实例信息的变化到Eureka服务端的间隔时间(s)30
eureka.client.initial-instance-info-replication-interval-seconds初始化实例信息到Eureka服务端的间隔时间(s)40
eureka.client.eureka-service-url-poll-interval-seconds询问Eureka Server信息变化的时间间隔(s)300
eureka.client.eureka-server-read-timeout-seconds读取Eureka Server 超时时间(s)8
eureka.client.eureka-server-connect-timeout-seconds连接Eureka Server 超时时间(s)5
eureka.client.eureka-server-total-connections获取从eureka客户端到所有eureka服务器的连接总数200
eureka.client.eureka-server-total-connections-per-host获取从eureka客户端到eureka服务器主机允许的连接总数50
eureka.client.eureka-connection-idle-timeout-seconds连接到 Eureka Server 空闲连接的超时时间(s)30
eureka.client.registry-refresh-single-vip-address指示客户端是否仅对单个VIP的注册表信息感兴趣null
eureka.client.heartbeat-executor-thread-pool-size心跳保持线程池初始化线程数,默认2个2
eureka.client.heartbeat-executor-exponential-back-off-bound心跳超时重试延迟时间的最大乘数值10
eureka.client.serviceUrl.defaultZone可用区域映射到与eureka服务器通信的完全限定URL列表。每个值可以是单个URL或逗号分隔的备用位置列表。(http:// e u r e k a . i n s t a n c e . h o s t n a m e : {eureka.instance.hostname}: eureka.instance.hostname:{server.port}/eureka/)
eureka.client.use-dns-for-fetching-service-urls指示eureka客户端是否应使用DNS机制来获取要与之通信的eureka服务器列表。当DNS名称更新为具有其他服务器时,eureka客户端轮询eurekaServiceUrlPollIntervalSeconds中指定的信息后立即使用该信息。false
eureka.client.register-with-eureka指示此实例是否应将其信息注册到eureka服务器以供其他服务发现false
eureka.client.prefer-same-zone-eureka实例是否使用同一zone里的eureka服务器,默认为true,理想状态下,eureka客户端与服务端是在同一zone下true
eureka.client.log-delta-diff是否记录eureka服务器和客户端之间在注册表的信息方面的差异false
eureka.client.disable-delta指示eureka客户端是否禁用增量提取false
eureka.client.fetch-remote-regions-registry逗号分隔的区域列表,提取eureka注册表信息
eureka.client.on-demand-update-status-change客户端的状态更新到远程服务器上true
eureka.client.allow-redirects指示服务器是否可以将客户端请求重定向到备份服务器/集群。如果设置为false,则服务器将直接处理请求。如果设置为true,则可以将HTTP重定向发送到具有新服务器位置的客户端。false
eureka.client.availability-zones.*获取此实例所在区域的可用区域列表(在AWS数据中心中使用)。更改在运行时在registryFetchIntervalSeconds指定的下一个注册表获取周期生效。
eureka.client.backup-registry-impl获取实现BackupRegistry的实现的名称,该实现仅在eureka客户端启动时第一次作为后备选项获取注册表信息。 对于需要额外的注册表信息弹性的应用程序,可能需要这样做,否则它将无法运行。
eureka.client.cache-refresh-executor-exponential-back-off-bound在发生一系列超时的情况下,它是重试延迟的最大乘数值。10
eureka.client.cache-refresh-executor-thread-pool-size缓存刷新线程池初始化线程数量2
eureka.client.client-data-accept客户端数据接收的名称full
eureka.client.decoder-name解码器名称
eureka.client.dollar-replacementeureka服务器序列化/反序列化的信息中获取“$”符号的替换字符串。“_-”
eureka.client.encoder-name编码器名称
eureka.client.escape-char-replacementeureka服务器序列化/反序列化的信息中获取“_”符号的的替换字符串“__“
eureka.client.eureka-server-d-n-s-name获取要查询的DNS名称来获得eureka服务器,此配置只有在eureka服务器ip地址列表是在DNS中才会用到。null
eureka.client.eureka-server-port获取eureka服务器的端口,此配置只有在eureka服务器ip地址列表是在DNS中才会用到null
eureka.client.eureka-server-u-r-l-context表示eureka注册中心的路径,如果配置为eureka,则为http://ip:port/eureka/,在eureka的配置文件中加入此配置表示eureka作为客户端向注册中心注册,从而构成eureka集群。此配置只有在eureka服务器ip地址列表是在DNS中才会用到null
eureka.client.fetch-registry客户端是否获取eureka服务器注册表上的注册信息true
eureka.client.filter-only-up-instances是否过滤掉非up实例true
eureka.client.g-zip-content当服务端支持压缩的情况下,是否支持从服务端获取的信息进行压缩true
eureka.client.property-resolver属性解析器
eureka.client.proxy-host获取eureka server 的代理主机名null
eureka.client.proxy-password获取eureka server 的代理主机密码null
eureka.client.proxy-port获取eureka server 的代理主机端口null
eureka.client.proxy-user-name获取eureka server 的代理用户名null
eureka.client.region获取此实例所在的区域(在AWS数据中心中使用)use-east-1
eureka.client.should-enforce-registration-at-initclient 在初始化阶段是否强行注册到注册中心false
eureka.client.should-unregister-on-shutdownclient在shutdown情况下,是否显示从注册中心注销true

3.2 服务实例配置项(eureka.instance.*)

org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean

参数名称说明默认值
eureka.instance.appname注册到注册中心的应用名称unknown
eureka.instance.a-s-g-name注册到注册中心的应用所属分组名称(AWS服务器)null
eureka.instance.app-group-name注册到注册中心的应用所属分组名称null
eureka.instance.data-center-info指定服务实例所属数据中心
eureka.instance.instance-enabled-onit指示是否应在eureka注册后立即启用实例以获取流量false
eureka.instance.non-secure-porthttp通信端口80
eureka.instance.non-secure-port-enabled是否启用HTTP通信端口true
eureka.instance.secure-portHTTPS通信端口443
eureka.instance.secure-port-enabled是否启用HTTPS通信端口false
eureka.instance.secure-virtual-host-name服务实例安全主机名称(HTTPS)unknown
eureka.instance.virtual-host-name该服务实例非安全注解名称(HTTP)unknown
eureka.instance.secure-health-check-url该服务实例安全健康检查地址(URL),绝对地址
eureka.instance.lease-renewal-interval-in-seconds该服务实例向注册中心发送心跳间隔(s)30
eureka.instance.lease-expiration-duration-in-seconds指示eureka服务器在删除此实例之前收到最后一次心跳之后等待的时间(s)90
eureka.instance.metadata-map.*
eureka.instance.ip-address该服务实例的IP地址null
eureka.instance.prefer-ip-address是否优先使用服务实例的IP地址,相较于hostnamefalse
eureka.instance.status-page-url该服务实例的状态检查地址(url),绝对地址null
eureka.instance.status-page-url-path该服务实例的状态检查地址,相对地址/actuator/info
eureka.instance.home-page-url该服务实例的主页地址(url),绝对地址
eureka.instance.home-page-url-path该服务实例的主页地址,相对地址/
eureka.instance.health-check-url该服务实例的健康检查地址(url),绝对地址null
eureka.instance.health-check-url-path该服务实例的健康检查地址,相对地址/actuator/health
eureka.instance.instance-id该服务实例在注册中心的唯一实例ID
eureka.instance.hostname该服务实例所在主机名
eureka.instance.namespace获取用于查找属性的命名空间。 在Spring Cloud中被忽略。eureka
eureka.instance.environment该服务实例环境配置
eureka.instance.default-address-resolution-order默认地址解析顺序
eureka.instance.initial-status该服务实例注册到Eureka Server 的初始状态up
eureka.instance.registry.default-open-for-traffic-count【Eureka Server 端属性】默认开启通信的数量1
eureka.instance.registry.expected-number-of-renews-per-min【Eureka Server 端属性】每分钟续约次数1

3.3 Eureka Server 配置项(eureka.server.*)

org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean

参数名称说明默认值
eureka.server.enable-self-preservation启用自我保护机制true
eureka.server.eviction-interval-timer-in-ms清除无效服务实例的时间间隔(ms)60000(1分钟)
eureka.server.delta-retention-timer-interval-in-ms清理无效增量信息的时间间隔(ms)30000(30秒)
eureka.server.disable-delta禁用增量获取服务实例信息false
eureka.server.log-identity-headers是否记录登录日志true
eureka.server.rate-limiter-burst-size限流大小10
eureka.server.rate-limiter-enabled是否启用限流false
eureka.server.rate-limiter-full-fetch-average-rate平均请求速率100
eureka.server.rate-limiter-throttle-standard-clients是否对标准客户端进行限流false
eureka.server.rate-limiter-registry-fetch-average-rate服务注册与拉取的平均速率500
eureka.server.rate-limiter-privileged-clients信任的客户端列表
eureka.server.renewal-percent-threshold15分钟内续约服务的比例小于0.85,则开启自我保护机制,再此期间不会清除已注册的任何服务(即便是无效服务)0.85
eureka.server.renewal-threshold-update-interval-ms更新续约阈值的间隔(分钟),默认15分钟15
eureka.server.response-cache-auto-expiration-in-seconds注册信息缓存有效时长(s),默认180秒180
eureka.server.response-cache-update-interval-ms注册信息缓存更新间隔(s),默认30秒30
eureka.server.retention-time-in-m-s-in-delta-queue保留增量信息时长(分钟),默认3分钟3
eureka.server.sync-when-timestamp-differs当时间戳不一致时,是否进行同步true
eureka.server.use-read-only-response-cache是否使用只读缓存策略true
自定义工具设置
eureka.server.json-codec-nameJson编解码器名称
eureka.server.property-resolver属性解析器名称
eureka.server.xml-codec-nameXml编解码器名称
Eureka Server 集群配置
eureka.server.enable-replicated-request-compression复制数据请求时,数据是否压缩false
ureka.server.batch-replication节点之间数据复制是否采用批处理false
eureka.server.max-elements-in-peer-replication-pool备份池最大备份事件数量,默认10001000
eureka.server.max-elements-in-status-replication-pool状态备份池最大备份事件数量,默认10001000
eureka.server.max-idle-thread-age-in-minutes-for-peer-replication节点之间信息同步线程最大空闲时间(分钟)15
eureka.server.max-idle-thread-in-minutes-age-for-status-replication节点之间状态同步线程最大空闲时间(分钟)10
eureka.server.max-threads-for-peer-replication节点之间信息同步最大线程数量20
eureka.server.max-threads-for-status-replication节点之间状态同步最大线程数量1
eureka.server.max-time-for-replication节点之间信息复制最大通信时长(ms)30000
eureka.server.min-available-instances-for-peer-replication集群中服务实例最小数量,-1 表示单节点-1
eureka.server.min-threads-for-peer-replication节点之间信息复制最小线程数量5
eureka.server.min-threads-for-status-replication节点之间信息状态同步最小线程数量1
eureka.server.number-of-replication-retries节点之间数据复制时,可重试次数5
eureka.server.peer-eureka-nodes-update-interval-ms节点更新数据间隔时长(分钟)10
eureka.server.peer-eureka-status-refresh-time-interval-ms节点之间状态刷新间隔时长(ms)30000
eureka.server.peer-node-connect-timeout-ms节点之间连接超时时长(ms)200
eureka.server.peer-node-connection-idle-timeout-seconds节点之间连接后,空闲时长(s)30
eureka.server.peer-node-read-timeout-ms几点之间数据读取超时时间(ms)200
eureka.server.peer-node-total-connections集群中节点连接总数1000
eureka.server.peer-node-total-connections-per-host节点之间连接,单机最大连接数量500
eureka.server.registry-sync-retries节点启动时,尝试获取注册信息的次数500
eureka.server.registry-sync-retry-wait-ms节点启动时,尝试获取注册信息的间隔时长(ms)30000
eureka.server.wait-time-in-ms-when-sync-empty在Eureka服务器获取不到集群里对等服务器上的实例时,需要等待的时间(分钟)5

4. 常见问题

5. 优化实战

5.1 最近使用通用版本-待更新

服务端配置

## 单节点写法
#server:
#  port: 7900
#spring:
#  application:
#    # 这个是应用名称
#    name: eureka
## eureka集群(>=3节点) 搭建说明=> https://docs.spring.io/spring-cloud-netflix/docs/2.2.8.RELEASE/reference/html/#spring-cloud-eureka-server-peer-awareness
## 注意:单节点,2节点,多节点是不同的搭建方式
#eureka:
#  client:
#    #是否注册到eureka中
#    register-with-eureka: false
#    #是否获取服务注册表
#    fetch-registry: false
#    service-url:
#      defaultZone: http://localhost:7900/eureka/



## 2个节点写法
#spring:
#  application:
#    # 这个是应用名称
#    name: eureka
#
#---
#spring:
#  # 表示这个分段的标识,用来区分属于哪个单独实例,在EditConfigures中,Configuration标签中的Active profiles属性
#  profiles: 7900
#server:
#  port: 7900
#eureka:
#  instance:
#    hostname: eureka-7900
#  client:
#    serviceUrl:
#      # 2个节点写法,1节点写2节点,2节点写1节点
#      defaultZone: http://localhost:7901/eureka/
#
#---
#spring:
#  profiles: 7901
#server:
#  port: 7901
#eureka:
#  instance:
#    hostname: eureka-7901
#  client:
#    serviceUrl:
#      # 2个节点写法,1节点写2节点,2节点写1节点
#      defaultZone: http://localhost:7900/eureka/


# 多节点集群写法
spring:
  application:
    # 这个是应用名称
    name: eureka

eureka:
  # eureka 作为客户端端配置
  # https://sq.163yun.com/blog/article/216363331210768384
  client:
    # 是否注册到eureka中
    register-with-eureka: true
    # 是否获取服务注册表
    fetch-registry: true
    serviceUrl:
      # 多个节点方式是把所有的节点都写上
      defaultZone: http://localhost:7900/eureka/,http://localhost:7901/eureka/,http://localhost:7902/eureka/
    # 客户端向服务器端同步注册表时间间隔(s)
    registry-fetch-interval-seconds: 30

    # unavailable-replicas显示的错误
    # eureka.client.register-with-eureka=true
    # eureka.client.fetch-registry=true
    # 还有问题

    #    # 多区域得配置
    #    # 可用区域
    #    region: bj
    #    availability-zones:
    #      # 可用区
    #      # 可用区bj里面有两组可用区z1,z2
    #      bj: z1,z2
    #    serviceUrl:
    #      # 可用区信息
    #      z1: http://localhost:7900/eureka/,http://localhost:7901/eureka/,http://localhost:7902/eureka/
    #      z2: http://localhost:7902/eureka/

  instance:
    # 续约时间(S)
    # 服务测算
    #   20不同类型得微服务,每个微服务横向部署5个,这里就会100个微服务(即100个eureka client)

    #   如果设置得续约时间为30秒,那就是1分钟内会有200个续约请求产生,
    #   折合1小时就是60*200=12000访问量
    #   折合1天就是12000*24=288000访问量
    #   上面说得只是每个客户端向服务器端的续约心跳量
    #
    #   另外还有客户端向服务端发起的同步注册表请求 registry-fetch-interval-seconds:30
    #   那就是这里同时也产生了每天288000的访问量
    #
    #   故:可以测算出每天的请求是288000*2=576000访问量
    #
    lease-expiration-duration-in-seconds: 30
#    #
#    prefer-ip-address: false
#    appname: cloud-eureka
#    ip-address: 192.168.1.20
  # 作为服务端配置
  # https://sq.163yun.com/blog/article/216363331210768384
  server:
    # 自我保护,看renewal-percent-threshold的说明
    # 缺省为打开
    enable-self-preservation: false
    # Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,
    # 让这些实例不会过期,但是在保护期内如果服务刚好这个服务提供者非正常下线了,此时服务消费者就会拿到一个无效的服务实例,此时会调用失败,
    # 对于这个问题需要服务消费者端要有一些容错机制,如重试,断路器等。
    #
    # 我们在单机测试的时候很容易满足心跳失败比例在 15 分钟之内低于 85%,这个时候就会触发 Eureka 的保护机制,一旦开启了保护机制,
    # 则服务注册中心维护的服务实例就不是那么准确了,此时我们可以使用eureka.server.enable-self-preservation=false来关闭保护机制,
    # 这样可以确保注册中心中不可用的实例被及时的剔除(不推荐)。
    #
    # 参考: https://www.cnblogs.com/xishuai/p/spring-cloud-eureka-safe.html
    #
    # 自我保护触发的阈值 默认=> 0.85 表示85%
    renewal-percent-threshold: 0.85
    # 三级缓存问题 =>
    #   eviction-interval-timer-in-ms use-read-only-response-cache response-cache-update-interval-ms
    #   register ->  readWriteCacheMap readOnlyCacheMap
    # eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒
    eviction-interval-timer-in-ms: 1000
    # 关闭从readOnly读注册表,默认是true 三级缓存问题???
    use-read-only-response-cache: false
    # readWrite 和 readOnly 同步时间间隔
    response-cache-update-interval-ms: 1000

# -- 表示分段写法 ,
---
spring:
  # 表示这个分段的标识,用来区分属于哪个单独实例,在EditConfigures中,Configuration标签中的Active profiles属性
  profiles: 7900
server:
  port: 7900
eureka:
  instance:
    # 每个服务实例的主机名
    hostname: eureka-7900

---
spring:
  profiles: 7901
server:
  port: 7901
eureka:
  instance:
    hostname: eureka-7901

---
spring:
  profiles: 7902
server:
  port: 7902
eureka:
  instance:
    hostname: eureka-7902

客户端配置

spring:
  application:
    # 应用名称
    name: api-passenger

server:
  # 应用服务 WEB 访问端口
  port: 8080

eureka:
  # eureka 客户端配置
  client:
    service-url:
      # 连接服务端地址
      defaultZone: http://localhost:7900/eureka
    # 禁用, 开发的时候实用
    enabled: false
#  # eureka 客户端多区域配置
#  client:
#    service-url:
#      z1: http://localhost:7900/eureka,http://localhost:7901/eureka
#      z2: http://localhost:7902/eureka,http://localhost:7903/eureka
#    # 所在区域
#    region: bj
#    # 只给背景区域得z1组注册
#    availability-zones:
#      bj: z1
#    # 优先获取相同区域的服务
#    prefer-same-zone-eureka: true

5.2 其他参考

目前看了这篇可以:http://www.heartthinkdo.com/?p=2968

6.总结

7. 参考

  1. 主要参考:http://www.heartthinkdo.com/?p=1933#5_Eureka
  2. https://www.jianshu.com/p/22219408b382
  3. https://www.jianshu.com/p/3d546868a1db
  4. https://www.jianshu.com/p/0ff479c37bab
  5. https://www.cnblogs.com/qin1993/articles/11505453.html
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值