当前位置:   article > 正文

springcloud (七) actuator服务监管配置、服务发现Discovery以及eureka自我保护_spring actuator discoveryinitialized

spring actuator discoveryinitialized

配置eureka服务id

未配置之前

配置

  1. eureka:
  2. instance:
  3. hostname: localhost
  4. #配置服务id
  5. instance-id: payment8002

配置后

服务改为自定义id,更方便管理,可以根据地区,ip来做细化

 

配置显示ip

未配置前

 

配置

  1. eureka:
  2. instance:
  3. hostname: localhost
  4. instance-id: payment8002
  5. #显示ip
  6. prefer-ip-address: true

配置后

显示变为ip,更好区分

 

Discovery配置

客户端想获取注册中心中有那些注册好的服务,如何才能做到?这时候就需要 Discovery(服务发现)

1. 引入DiscoveryClient

  1. @Resource
  2. private DiscoveryClient discoveryClient;

2.编写获取配置代码

  1. @GetMapping("/getDiscovery")
  2. public Object getDiscovery(){
  3. List<String> services = discoveryClient.getServices();
  4. //获取所有服务名
  5. for (String service : services) {
  6. log.info("================:" + service);
  7. }
  8. //获取单个服务的注册信息
  9. List<ServiceInstance> instances = discoveryClient.getInstances("cloud-payment-service");
  10. for (ServiceInstance instance : instances) {
  11. log.info("*******************"+instance.getHost() + "\t" + instance.getPort() + "\t" + instance.getUri());
  12. }
  13. return this.discoveryClient;
  14. }

3.启动类添加注解

  1. @EnableDiscoveryClient
  2. public class PaymentMain8001 {
  3. public static void main(String[] args) {
  4. SpringApplication.run(PaymentMain8001.class,args);
  5. log.info("=========================启动完成==============================");
  6. }
  7. }

 

3.重启,并测试 http://127.0.01:8001/Payment/getDiscovery

可以看到界面输出

打开控制台

测试成功

 

eureka自我保护

如果看到这段提示,那就是eureka进入了自我保护模式,只要进入了自我保护,euaeka将不会注销任何微服务

默认情况下 eurekaserver端在一定时间内(90s) 没有收到客户端的心跳就会将服务剔除,但在短时间内(90s)突然失去大量客户端,eureka就会进入自我保护模式


如何让关闭自我保护机制

服务端配置

  1. eureka:
  2. server:
  3. #关闭自我保护机制
  4. enable-self-preservation: false
  5. ##剔除服务时间 ms
  6. eviction-interval-timer-in-ms: 2000

为了快速显示效果,配置客户端剔除时间以及心跳时间

  1. eureka:
  2. instance:
  3. hostname: localhost
  4. instance-id: payment8002
  5. #显示ip
  6. prefer-ip-address: true
  7. #客户端定时像服务端发送心跳时间间隔 秒
  8. lease-renewal-interval-in-seconds: 1
  9. #服务的收到最后一次心跳等待时间上限 超市剔除
  10. lease-expiration-duration-in-seconds: 2

测试


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/963448
推荐阅读
相关标签
  

闽ICP备14008679号