范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

eureka在关闭自我保护情况下过期服务不及时下线问题跟踪

  1、微服务中使用eureka注册中心的三种角色eureka server注册中心
  注册中心作为存储服务,提供各种服务提供方注册的服务信息,eureka正常启动后可使用 http://localhost:8761/  查看已注册的服务信息及相关配置信息,http://localhost:8761/eureka/apps/feign-service  可查看某个服务的明细信息,其中feign-service  即服务的名称。eureka:   server:     enable-self-preservation: false     eviction-interval-timer-in-ms: 10000
  参数 enable-self-preservation  为是否开启eureka自我保护参数,eviction-interval-timer-in-ms  为清除过期服务时间间隔,如设置成每10秒清除一次过期服务,启动eureka注册中心服务后每间隔10秒会有Running the evict task with compensationTime 3ms  日志;服务提供方
  将服务信息注册到eureka注册中心,并可配置维持心跳检测(续期)时间((默认30秒)及过期时间(默认90秒)。 eureka:   client:     register-with-eureka: true     fetch-registry: true   instance:     lease-renewal-interval-in-seconds: 1     lease-expiration-duration-in-seconds: 10
  register-with-eureka  表示是否将服务注册到eureka中,服务提供方应设置为true  ;fetch-registry  表示是否从注册中心获取配置,服务消费方应配置为true  ;lease-renewal-interval-in-seconds  表示续期时间间隔,即1秒心跳检测一次,为了演示方便调短时间;lease-expiration-duration-in-seconds  续期超时时间,即超过此时间后服务检测不到心跳即过期。服务消费方
  从注册中心获取需要调用的服务提供方相关信息 2、跟踪失效服务的清除
  将注册中心的清除时间间隔 eviction-interval-timer-in-ms  改为1000  ,即每秒钟触发一次清除过期服务;
  将服务提供方心跳检测时间 lease-renewal-interval-in-seconds  改为1  ,每秒续一次时间,并将过期时间lease-expiration-duration-in-seconds  设置为10  ,即应该在10  秒后没有收到心跳即过期,启动服务后可在注册中心查看相关的参数是否生效http://localhost:8761/eureka/apps/feign-service  ,在instance->leaseInfo  中可看到以下配置;1 10
  按照以上的设置,如果服务提供方在 6:00:00  的时间挂掉的话,按eureka每秒清除一次过期服务,且服务提供方的续期过期时间10秒  ,服务应该在6:00:11  左右的时间清除掉,而实际上服务却是在6:00:21  左右的时间点才清除;经过反复的测试验证没有按这个预期内的时间清除掉这个服务;
  最后在源码中找到答案
  查看类 com.netflix.eureka.registry.AbstractInstanceRegistry  中的public void evict(long additionalLeaseMs)  方法,因为演示中只注册了一个服务,所以省略掉其他非关键部分如下// We collect first all expired items, to evict them in random order. For large eviction sets, // if we do not that, we might wipe out whole apps before self preservation kicks in. By randomizing it, // the impact should be evenly distributed across all applications. List> expiredLeases = new ArrayList<>(); for (Entry>> groupEntry : registry.entrySet()) {     Map> leaseMap = groupEntry.getValue();     if (leaseMap != null) {         for (Entry> leaseEntry : leaseMap.entrySet()) {             Lease lease = leaseEntry.getValue();             if (lease.isExpired(additionalLeaseMs) && lease.getHolder() != null) {                 expiredLeases.add(lease);             }         }     } }
  大概意思是收集到全部过期的服务,并随机清除,其中最关键的部分 isExpired  判断如下/**  * Checks if the lease of a given {@link com.netflix.appinfo.InstanceInfo} has expired or not.  *  * Note that due to renew() doing the "wrong" thing and setting lastUpdateTimestamp to +duration more than  * what it should be, the expiry will actually be 2 * duration. This is a minor bug and should only affect  * instances that ungracefully shutdown. Due to possible wide ranging impact to existing usage, this will  * not be fixed.  *  * @param additionalLeaseMs any additional lease time to add to the lease evaluation in ms.  */ public boolean isExpired(long additionalLeaseMs) {     return (evictionTimestamp > 0 || System.currentTimeMillis() > (lastUpdateTimestamp + duration + additionalLeaseMs)); }
  这里解析了 renew()  这个方法做了错误的事情,使用lastUpdateTimestamp  加了duration  ,所以实际的过期是2  倍的duration  时间,接下来看看类com.netflix.eureka.lease.Lease  中的renew()  方法;/**  * Renew the lease, use renewal duration if it was specified by the  * associated {@link T} during registration, otherwise default duration is  * {@link #DEFAULT_DURATION_IN_SECS}.  */ public void renew() {     lastUpdateTimestamp = System.currentTimeMillis() + duration;  }
  果然是在最后更新时间中增加了 duration  ,在演示中去掉这个duration  即符合预期了
  通常情况下如果我们需要平滑升级服务,需要先将原来的微服务逐个标识成OUT_OF_SERVICE,curl -X PUT http://root:password@localhost:8761/eureka/apps/feign-service/localhost:feign-service:8888/status?value=OUT_OF_SERVICE,在下一个续约周期中将会更新服务提供方的实例信息,再将此服务下线,从而避免因服务的升级造成服务不可用。

街机拳皇中你最喜欢哪个版本?为什么?对于GoGo而言,和大多数玩家一样,钟情的是拳皇97拳皇从94开始到拳皇14,经历了十部正统续作,而在这期间每个时代的玩家接触到的拳皇版本是不同的。初期的接触过拳皇9596的玩家都餐后两小时血糖偏高,但餐后三小时恢复正常了,该怎么办?我也是糖尿病患者,有20多年的糖尿病史了。我的体会是不管是餐后两小时还是餐后三小时,都应该按照医学规定的参数执行。不然,血糖长期偏高,必将后患无穷,最后的结果各种并发症很可能发生,不同部位长痘痘,暗示不同器官出现问题,到底该怎么办?谢邀,这里要说一句,不同的位置长痘跟身体的器官是没有关系的。经常长痘痘的地方有面部,前胸后背等皮脂分泌旺盛的部位。此外,激素内分泌水平痤疮丙酸杆菌等微生物感染等因素都可能导致长痘痘每次洗头都会掉一大把,有什么好牌子的洗发水推荐一下?安安金纯39。9元瓶58元瓶的就挺好!aveda雅达防脱洗发水参考价格185元200毫升适用人群脱发患者推荐理由invati防脱发系列以强效的天然草本植物成分,研制稀薄头发的配方,DNF全身红7打造的红眼属于中上游水平吗?红10和红12打造的红眼又属于什么样的水平?红眼是DNF基数最大的职业,该职业由于技能简单粗暴,容易上手深受玩家们喜欢,但是作为DNF人数最多的职业,因为人数多的原因打造也是参差不齐,一身红10的遍地都是,更别说是普通打造的为什么中国灯饰之都会在中山古镇?古镇生产灯具是从裕华灯饰厂两位老总年轻时去香港探亲,遇上灯饰展销会后回家创业开始的,经过几十年的发展,以古镇为中心的灯饰产业集群化形成的,周边有小榄镇提供五金件,横栏镇负责装配,东南京周边春节有哪些地方比较好玩?(一)夫子庙,这个景点的话就在南京市的秦淮河北岸贡院街,也就是江南公园的西边。夫子庙同样也是用来供奉和祭祀孔子的地方,它是中国第一所国家最高的学府。在这个地方,荟萃了中国古代的文化包头有哪些好吃的地方美食?对于包头人来说一份来自家乡的热腾腾的美食就是对自己的最好褒奖美食,包头人有太多话要说1hr风干牛肉提起内蒙古,就不得不提风干牛肉,肉干精选黄牛肉,进过长时间的脱水,肉的口感变得更紧红旗H5怎么样,最低首付需要多少钱,月供是多少?红旗H5是一汽旗下的一款中型车,红旗作为一个国内有着丰厚的历史底蕴的品牌,在国内外都有很高的影响力,一直是以行政接待出现在大家的视线,2018年红旗H5正式上市也是红旗第一款真正意交不起社保的非农业户口没有田地,到退休能开工资吗?感觉此题令人笑喷了!什么叫工资,就是一个劳动者为单位或为他人贡献自己的劳动而取得的报酬,才叫工资!否则,不管你什么劳动,哪怕是劳改犯劳动,或者农民为自己生产自己收入下自己腰包,都不老人对照顾自己的儿子,工资日结,你怎么看?这样挺好,我将来也想这么干,孩子也要生活,他也有家,也要养家,所以他照顾了你,你不给他钱,他就不能养家,你雇外面人不如雇孩子这种做法也不错!老人有退休金要请保姆也要花钱不如钱给儿子
红色旅游更红火近年来,红色旅游热度持续走高,每年国庆佳节,红色景区都迎来客流高峰,今年喜逢党的二十大召开,红色旅游更加兴旺红火。观看升国旗仪式参观红色主题展览游览红色旅游景区接受一场爱国主义的洗仰望一颗柿子我在头条搞创作第二期秋天很深了柿子熟了一颗颗红彤彤地挂在枝头像繁星一样我踮起脚尖使劲向上伸手就想摘下一个属于自己的果实柿子都挂的很高我用尽一生的力气仍然够不着最低的一颗收获难道不能世界杯预测,法国VS澳大利亚法国为上届世界杯冠军,目前世界排名第二属欧洲一流强队。球员中有实力战将本泽马,姆巴佩等进攻能力强好手,本次能否卫冕是全世界的关注焦点。近期国际友谊赛一胜两平两负从结果上看确实踢得非湖人官宣威少!詹姆斯大失所望,浓眉发声,佩林卡是该有所行动了主场输给了开拓者之后,湖人球迷们陷入了绝望的情绪当中,这才赛季第三场常规赛,湖人的战绩和表现就已经能让人一眼看到头了(在没有交易的情况下)。虽然赛季还很漫长,但根据统计,在湖人前锋中国男篮后卫线重组!赵继伟退赛,郭艾伦缺阵,广东宏远领先CBA第一阶段接近尾声,接下来就是世预赛了。第五个窗口,中国男篮将对阵伊朗和巴林。值得欣慰的是,只要拿下对手,中国男篮就能小组提前出线。当然,机遇和压力并存,尤其是后防线出现多名球必须进国家队!CBA最强中锋碾压王哲林,他能保住中国男篮的内线新赛季的CBA常规赛第七轮比赛正在如火如荼地进行中,在实力不错的山东队和大黑马上海队之间进行了激烈的较量。最后,凭借陶汉林吉伦沃特高诗岩等主力的出色表现,实力更强的山东队以10682022卡塔尔世界杯32强巡礼黄金之师卡塔尔队世界排名50,身价1900万欧,世界杯次数首次,成绩预测小组第二第三2022年卡塔尔世界杯即将打响,作为本届世界杯的主办国,虽然卡塔尔拥有着天时地利人和,但是作为油气大国的他们却只13年,1。97米女篮巨人邂逅健身教练,开启第二春,婚后2年生女娃2012年8月的某个上午,大庆人王金宝正在自己工作的健身房里摆弄器材,突然一个长发女孩推门走来。王金宝确认了好几眼,自己1。83米的身高,确实还比她矮了一个头。师傅,还需要健身教练国际滑联又闹笑话!为乌克兰拨款150万,领钱的可能是俄罗斯选手北京时间10月26日,俄媒的消息,ISU将第二次朝乌克兰滑联拨款,金额同样是20万瑞士法郎(约合150万人民币)。这笔钱用于在海外训练和生活的乌克兰花样滑冰运动员。不巧,这其中有不CBA三消息名宿马连民离世,李春江或迎帮手,杨鸣迎争冠王牌众所周知,最近CBA比赛第一阶段的赛事即将结束,在这期间各大球队正在努力来争夺第一阶段排名好成绩。值得关注的是,在这个期间最近发生三个非常重磅的消息,接下来和大家具体关注一下。首先错失绝杀!8人得分上双险胜!双核缺阵再败!太阳打爆勇士8人得分上双,残阵鹈鹕险胜独行侠!乔治伦纳德齐缺阵,快船爆冷不敌雷霆!汤神遭驱逐,勇士第三节崩盘惨败太阳!东契奇失绝杀!鹈鹕险胜独行侠上一场比赛对于鹈鹕队来说可谓是一个不小的打击,