1、常见问题

  • 1、为什么服务下线了,Eureka Server接口返回的信息还会存在?
  • 2、为什么服务上线了,Eureka Client不能及时获取到?
  • 3、为什么偶尔会有如下提示:
    EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RENOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE

2、解决方法

  • 针对第一个问题,Eureka Server并不是强一致的,因此registry中会存留已过期的实例信息,有一下几个原因:

    • 1、应用实例异常挂掉,没能在挂掉之前告知Eureka Server要下线该服务实例信息。这种情况下就需要依赖Eureka Server的EvictionTask去剔除。
    • 2、应用实例下线时有告知Eureka Server下线,但是由于Eureka Server的REST API有response cache,因此需要等待缓存过期才能更新。
    • 3、Eureka Server由于开启并引入了SELF PRESERVATION模式,导致registry的信息不会因为过期而被剔除掉,直到退出SELF PRESERVATION模式。
  • 针对第二个问题,可以调整EvictionTask的调度频率,比如下面的配置,将调度间隔默认的60秒,调整为15秒:
    eureka.server.eviction-interval-timer-in-ms=5000
  • 针对response cache的问题,可以根据情况考虑关闭readOnlyCacheMap:

    eureka.server.use-read-only-response-cache=false
  • 或者调整readWriteCacheMap的过期时间:

    eureka.server.response-cache-auto-expiration-in-seconds=60
  • 针对SELF PRESERVATION的问题,在测试环境可以将enable-self-preservation设置为false:

    eureka.server.enable-self-preservation=false
  • 关闭的话,则会提示:

    RENEWALS ARE LESSER THAN THE THRESHOLD. THE SELF PRESERVATION MODE IS TURNED OFF. THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.

    或者:

    THE SELF PRESERVATION MODE IR TURED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
  • 针对新服务上线,Eureka Client获取不及时的问题,在测试环境,可以适当提高Client端拉取Server注册信息的频率,例如下面将默认的30秒改为15秒:
    eureka.client.registry-fetch-interval-seconds=5
  • 针对SELF PRESERVATION问题,在实际生产过程中,经常会有网络抖动等问题,造成服务实例与Eureka Server的心跳未能如期保持,但是服务实例本身是健康的,这个时候如果按照租约机制剔除的话,会造成误判,如果大范围误判的话,可能会导致整个服务列表中的大部分注册信息被剔除,从而导致没有可用服务。Eureka为了解决这个问题引入可SELF PRESERVATION机制,当最近一分钟接受到的续约的次数小于等于指定阀值的话,则关闭续约失效剔除,禁止定时任务剔除失效的实例,从而保护注册信息,对于开发测试环境,开启这个机制有时候反而会影响系统的持续集成,因此可以通过如下参数关闭该机制:
    eureka.server.enable-self-preservation=false

    在生产环境中,可以把renewalPercentThreshold及leaseRenewalIntervalInSeconds参数调小一点,进而提高SELF PRESERVATION机制的门槛,比如:

    eureka.instance.lease-renewal-interval-in-seconds=10
    eureka.server.renewal-percent-threshold=0.49

        

Eureka参数调优的更多相关文章

  1. Eureka 参数调优

    常见问题 为什么服务下线了,Eureka Server 接口返回的信息还会存在. 为什么服务上线了,Eureka Client 不能及时获取到. 为什么有时候会出现如下提示: EMERGENCY! E ...

  2. Spark Shuffle原理、Shuffle操作问题解决和参数调优

    摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuff ...

  3. 搭建 windows(7)下Xgboost(0.4)环境 (python,java)以及使用介绍及参数调优

    摘要: 1.所需工具 2.详细过程 3.验证 4.使用指南 5.参数调优 内容: 1.所需工具 我用到了git(内含git bash),Visual Studio 2012(10及以上就可以),xgb ...

  4. 【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优

    libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windo ...

  5. spark参数调优

    摘要 1.num-executors 2.executor-memory 3.executor-cores 4.driver-memory 5.spark.default.parallelism 6. ...

  6. Linux内核 TCP/IP、Socket参数调优

    Linux内核 TCP/IP.Socket参数调优 2014-06-06  Harrison....   阅 9611  转 165 转藏到我的图书馆   微信分享:   Doc1: /proc/sy ...

  7. JVM参数调优

    JVM参数调优 JVM参数调优是一个很头痛的问题,可能和应用有关系,下面是本人一些调优的实践经验,希望对读者能有帮助,环境LinuxAS4,resin2.1.17,JDK6.0,2CPU,4G内存,d ...

  8. 【转】XGBoost参数调优完全指南(附Python代码)

    xgboost入门非常经典的材料,虽然读起来比较吃力,但是会有很大的帮助: 英文原文链接:https://www.analyticsvidhya.com/blog/2016/03/complete-g ...

  9. XGBoost参数调优完全指南(附Python代码)

    XGBoost参数调优完全指南(附Python代码):http://www.2cto.com/kf/201607/528771.html https://www.zhihu.com/question/ ...

随机推荐

  1. awrcrt更新到2.17 ,添加了top SQL list

    应广大Oracle专家,教授的要求(被问了很多次,什么时候添加top sql 啊~~,最近一年由于很少交付巡检类的服务,所以没有机会更新)>终于为awrcrt更新了Top SQL list,版本 ...

  2. 牛客练习赛39 D 动态连通块+并查集 X bitset 优化

    https://ac.nowcoder.com/acm/contest/368/D 题意 小T有n个点,每个点可能是黑色的,可能是白色的.小T对这张图的定义了白连通块和黑连通块:白连通块:图中一个点集 ...

  3. hdu-6601 Keen On Everything But Triangle

    题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=6601 Description N sticks are arranged in a row, and ...

  4. Codeforces Round #383 (Div. 2) C. Arpa's loud Owf and Mehrdad's evil plan(dfs+数学思想)

    题目链接:http://codeforces.com/contest/742/problem/C 题意:题目比较难理解,起码我是理解了好久,就是给你n个位置每个位置标着一个数表示这个位置下一步能到哪个 ...

  5. CentOS 磁盘扩容

    本人对Linux本来就不是很熟,但是由于各种原因开始捣鼓CentOS(大家都说是这个系统比较好学),开始预计20G的磁盘就足够了,没想到装Oracle就直接报磁盘空间不足,更别提在Tomcat下部署近 ...

  6. hadoop历史服务的启动与停止

    a.配置项(在分布式环境中配置) 1.RPC访问地址 mapreduce.jobhistory.address 2.HTTP访问地址 mapreduce.jobhistory.webapp.addre ...

  7. MultipartFile 获取上传TXT文件字数

    @ResponseBody @RequestMapping(value = "/addImgForDynamic")//(发布动态) public Map addImgForDyn ...

  8. fastjson使用-- @JSONField使用(转)

    @JSONField可以配置到字段和方法上,那不同的配置有什么不同呢?下面我们就来看看具体配置到不同的方法上. 我们在创建实体类的时候,都要求属性必须创建get和set方法,否则fastjson将不会 ...

  9. Fortify安全漏洞一般处理方法

    前段时间公司又一轮安全审查,要求对各项目进行安全扫描,排查漏洞并修复,手上有几个历史项目,要求在限定的时间内全部修复并提交安全报告,也不清楚之前是如何做的漏洞修复,这次使用工具扫描出来平均每个项目都还 ...

  10. cmd命令查看已连接的WiFi密码

      实验环境:Windows 10.命令提示符(管理员权限) 一.CMD命令查看WiFi密码 使用方法: ①.运行CMD(命令提示符) (确保无线网卡启用状态)②.输入命令查看WiFi配置文件:  # ...