Spring Cloud 微服务实战系列-Eureka注册中心(二)

导语
  之前的分享中,简单的介绍了SpringBoot的入门知识以及如何使用Eureka搭建服务注册中心,这一次的分享主要是来讲解一些在Eureka中的常用的配置,方便大家在使用Eureka的时候可以更好的利用它的一些特性

常用配置

关闭Eureka自我保护

  Eureka的保护模式主要在一组客户端和Eureka Server之间存在网络上的分区场景时使用。一旦进入到保护模式,Eureka Server将会尝试保护器服务注册表中的信息,不再删除服务注册表中的信息,当网络恢复的时候,Eureka Server 节点会自动进行退出自我保护功能。而这个自我保护功能可以通过如下的配置来进行关闭

eureka:
  server:
  	enableSelfPreservation: false

实现自定义InstanceID

  客户端在注册服务的时候,服务对应的InstanceID对应是如下的一种格式

${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}

  也就是主机名,服务名,服务端号等信息。当我们在Eureka的Web页面上看到的内容就是这个格式的,但是在很多的应用场景中,运维人员需要把对应的IP显示的上面这个格式中,那么这个时候只需要把主机名替换成IP即可,或者是调整顺序也可以。这个时候就可以通过如下的方式来定义

eureka.instance.instance_id=${spring.application.name}:${spring.cloud.client.ip-address}${server.port}

  通过上面的定义之后就可以看到我们想要的结果了,当然还可以点击对应的InstanceID进行跳转,这个时候虽然对应的主机名已经变成了IP但是对应的的连接还是主机名。并不是我们想要的样子,这个时候就需要加入一个配置

eureka:
  instance:
    perferIpAddress: true

  通过上面的配置就可以将对应的连接变成我们想要的IP的形式了。

如何快速移除已经失效的服务信息

  在实际的开发过程中,可能会不停的重新启动或者停止服务,这个时候由于Eureka的自我保护机制,当停止的服务下线之后,服务信息还会一直存在于Eureka中,可以通过增加一些配置来让移除这些故障节点的速度快一些。但是在生产上并不推荐使用这种方式

//关闭自我检查
eureka.server.enable-self-preservation=false
// 清理时间间隔
eureka.server.eviiction-interval-timer-in-ms=5000

  在客户端对应的配置如下

eureka.client.healthcheck.enable=true
// Eureka Client 而server发送心跳的频率
eureka.instance.lease-renewal-interval-in-seconds=5
// 心跳等待时间
eureka.instance.lease-expiration-duration-in-seconds=5

  其中要配置健康检查相关的内容需要在pom文件中加入对应的actuator相关的依赖。

总结

  内容较少,用来补充上篇博客中最后的一些信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nihui123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值