• Nacos心跳时间配置及服务快速上下线


    Nacos心跳时间配置及服务快速上下线
    Nacos默认心跳时间是30秒,不太满足正式环境需要,需要调整心跳时间更短,让线上服务上下线能快速感知.

    1.修改微服务的nacos的心跳配置时间
    preserved.heart.beat.interval: 1000 #该实例在客户端上报心跳的间隔时间。(单位:毫秒)
    preserved.heart.beat.timeout: 3000 #该实例在不发送心跳后,从健康到不健康的时间。(单位:毫秒)
    preserved.ip.delete.timeout: 3000 #该实例在不发送心跳后,被nacos下掉该实例的时间。(单位:毫秒)

    如我的一个微服务tower-system的配置如下

    spring:
    cloud:
    nacos:
    discovery:
    server-addr: 127.0.0.1:8848
    metadata:
    preserved.heart.beat.interval: 1000
    preserved.heart.beat.timeout: 3000
    preserved.ip.delete.timeout: 3000
    1
    2
    3
    4
    5
    6
    7
    8
    9
    2.修改spring cloud的gateway的ribbion配置
    修改了步骤1中的配置后,nacos的控制台,能保证微服务3秒内能快速响应上下线,但我们的访问是通过gateway统一访问的,gateway集成了ribbion的负载均衡功能,其默认是定时一定的时间间隔去nacos拉取最新的服务实例数据到本地缓存,因此,仅仅修改nacos的配置,还是不能保证能及时的进行服务上下线,需要设置ribbon.ServerListRefreshInterval,增加拉取nacos中最新服务实例的频率,如下`

    #ribbon config,Interval to refresh the server list from the source
    ribbon:
    ServerListRefreshInterval: 3000
    1
    2
    3
    3.总结
    步骤1可能需要花3秒中更新实例,步骤2定时拉取nacos最新实例需要最快3秒,因此加起来,可能需要花费最多6秒,能使最新的服务生效
    ————————————————
    版权声明:本文为CSDN博主「冰之杍」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/jxlhljh/article/details/119875072

  • 相关阅读:
    docker部署数据库
    JAVA 删除Map中元素(JDK8)
    Docker 学习记录基于Linux
    Liunx 操作命令学习记录
    NACOS 认识和学习
    SpringCloud 学习及其相关组件的认识
    springBoot 配置文件的优先级
    配置redisTemplate的序列化
    springBoot 使用测试类报错
    注解反射的认识
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/16870876.html
Copyright © 2020-2023  润新知