• spring cloud 负载均衡 平滑上下线


      eureka注册中心有缓存,服务重启后,你会发现有一小段时间重新启动的服务变成不可用。需要调整缓存时间间隔:

      之前在注册中心看到服务后,还是不可用,一直以为是生产者滞后问题,其实是消费者没有更新时间。 

    eureka:

      server:
        # 默认30s. eureka server刷新readCacheMap的时间,注意,client读取的是readCacheMap,
        # 这个时间决定了多久会把readWriteCacheMap的缓存更新到readCacheMap上
        response-cache-update-interval-ms: 3000
        # 默认60s. 启用主动失效,并且每次主动失效检测间隔为5s.
        eviction-interval-timer-in-ms: 5000
      instance:
        # 默认90s. 服务过期时间配置,超过这个时间没有接收到心跳EurekaServer就会将这个实例剔除.
        # 注意,EurekaServer一定要设置eureka.server.eviction-interval-timer-in-ms否则这个配置无效,这个配置一般为服务刷新时间配置的三倍
        lease-expiration-duration-in-seconds: 15
        # 默认30s. 服务刷新时间配置,每隔这个时间会主动心跳一次,不建议修改
        #lease-renewal-interval-in-seconds: 5
        use-read-only-response-cache: false
    eureka:
      client:
        # eureka client刷新本地缓存时间
        registryFetchIntervalSeconds: 5
    ribbon:
      # eureka客户端ribbon刷新时间
      ServerListRefreshInterval: 5000


    修改配置后,下线前先将服务改为不可用状态,休眠20s,然后删除服务,停止应用,重启服务。

    curl -X PUT 'http://huilian:hl123...@192.168.200.124:10011/eureka/apps/wph-external-hk/wph-external-hk-service-125/status?value=OUT_OF_SERVICE'
    sleep 20s
    kill -9 $PID
    curl -X DELETE 'http://huilian:hl123...@192.168.200.124:10011/eureka/apps/wph-external-hk/wph-external-hk-service-125'



  • 相关阅读:
    asp.net mvc学习(Vs技巧与Httpcontext)
    微信小程序代码构成
    MetaEditor中MQL使用方法
    lambda表达式中的排序问题
    Python Bs4 回顾
    Python操作Redis及连接方式
    C# for Python(Nugut Iron包)
    Jquery.ajax dataType参数
    Fleck For Web Socket
    visual studio git for coding
  • 原文地址:https://www.cnblogs.com/sddychj/p/15692743.html
Copyright © 2020-2023  润新知