解决nacos服务注册中心及时上下线

    nacos做为注册中心纳管其下边的服务模块,然后我们有时候关闭服务的时候发现客户端还能继续访问该服务,这是因为nacos默认的心跳检测时间为30s,所以需要等到30s之后才会剔除不可用服务。

     修改nacos的心跳检测时间,在注册的服务中配置

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

这就ok了

如果网关使用的事gateway,gateway还要想注册中心拉取服务列表,如果时间很长,也会造成调用不可用服务。一般我们也将拉取服务列表的时间调整一下。具体数字要看实际生产需要

#ribbon config,Interval to refresh the server list from the source 
ribbon: 
  ServerListRefreshInterval: 3000

步骤1可能需要花3秒中更新实例,步骤2定时拉取nacos最新实例需要最快3秒,因此加起来,可能需要花费最多6秒,能使最新的服务生效

你可能感兴趣的:(java,java,服务器,开发语言)