手把手教你搭建SpringCloud项目(六)actuator微服务信息完善与Eureka自我保护机制

Spring Cloud全文目录

源码

什么是微服务?有手就行

SpringCloud简介与5大常用组件

一、手把手教你搭建SpringCloud项目(一)搭建Maven父工程,傻瓜式操作

二、手把手教你搭建SpringCloud项目(二)生产者与消费者

三、手把手教你搭建SpringCloud项目(三)集成Eureka服务注册中心

四、手把手教你搭建SpringCloud项目(四)EurekaServer集群版搭建

五、手把手教你搭建SpringCloud项目(五)生产者集群版搭建

六、手把手教你搭建SpringCloud项目(六)actuator微服务信息完善与Eureka自我保护机制

七、手把手教你搭建SpringCloud项目(七)Eureka实现服务发现(Discovery)

八、手把手教你搭建SpringCloud项目(八)集成Consul服务注册中心

九、手把手教你搭建SpringCloud项目(九)集成Ribbon负载均衡器

十、手把手教你搭建SpringCloud项目(十)集成OpenFeign服务接口调用

十一、手把手教你搭建SpringCloud项目(十一)集成Hystrix之服务降级

十二、手把手教你搭建SpringCloud项目(十二)集成Hystrix之服务熔断

十三、手把手教你搭建SpringCloud项目(十三)集成Hystrix之图形化Dashboard实时监控

十四、手把手教你搭建SpringCloud项目(十四)集成Gateway新一代服务网关

十五、手把手教你搭建SpringCloud项目(十五)集成Config分布式配置中心

十六、手把手教你搭建SpringCloud项目(十六)集成Bus消息总线

十七、手把手教你搭建SpringCloud项目(十七)集成Stream消息驱动

十八、手把手教你搭建SpringCloud项目(十八)集成Sleuth分布式链路跟踪

文章持续更新中,欢迎关注!

actuator微服务信息完善

主机名称:服务名称修改

问题

服务注册含有主机名称,要想按照规范的要求,只暴露服务名,不要出现主机名。
在这里插入图片描述

解决方法

1.找到application.yml,添加配置

8001服务:

  instance:
    instance-id: payment8001

在这里插入图片描述
8002服务:

  instance:
    instance-id: payment8002

在这里插入图片描述

2.测试

在这里插入图片描述

访问信息有IP信息显示

问题

鼠标放在①上,在左下角②中没有IP显示。后续的话,这些微服务可能部署到几号机器上的,服务端口是多少,比如192.168.11.133机器上的8002端口,在调错或排错的时候,几号机器几号端口微服务名称就很明了。
在这里插入图片描述

解决方法

1.找到application.yml,添加配置
    prefer-ip-address: true #访问路径可以显示IP地址

在这里插入图片描述

2.测试

在这里插入图片描述

Eureka自我保护机制

现象

在这里插入图片描述

为什么会产生Eureka自我保护机制

为了防止EurekaClient能够正常运行,但是与EurekaServer网络不通情况下,EurekaServer不会立即将EurekaClient剔除

什么是自我保护机制

默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例(默认90秒)。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正常运行的,此时不应该移除这个微服务,Eureka通过"自我保护机制"来解决这个问题-当EurekaServer节点在短时间内丢失过多客户端时,那么这个节点就会进入了自我保护机制。
在这里插入图片描述

关闭自我保护机制

Eureka自我保护机制,默认打开状态(true打开 - false禁用),如果要关闭则在Eureka服务端application.yml配置

eureka:
  server:
    # 关闭自我保护机制,保证不可用服务被及时剔除
    enable-self-preservation: false
    # 修改检查失效服务的时间
    eviction-interval-timer-in-ms: 2000

在这里插入图片描述
Eureka客户端(payment8001)心跳配置

eureka:
  instance:
    # 默认90秒
    # Eureka服务端在收到最后一次心跳后等待时间上限,单位为秒(默认90秒),超时将剔除服务
    lease-expiration-duration-in-seconds:  10
    # 默认30秒
    # Eureka客户端向服务端发送心跳的时间间隔,单位为秒(默认30秒)
    lease-renewal-interval-in-seconds:  3

在这里插入图片描述

到这里actuator微服务信息完善与Eureka自我保护机制就完成啦!是不是so easy?
在这里插入图片描述

下一篇文章学习Eureka的服务发现Discovery,持续关注、点赞。我们持续更新中。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值