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

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,在下一个续约周期中将会更新服务提供方的实例信息,再将此服务下线,从而避免因服务的升级造成服务不可用。

俯冲带地球化学研究取得重要进展科技日报记者吴长锋记者9日从中国科学技术大学获悉,该校郑永飞院士研究团队戴立群教授研究组,在长期研究俯冲带壳幔相互作用的基础上,选择中国华北陆块东南部出露的中生代和新生代镁铁质岩浆对越反击战,越军违背国际公约,使用了化学武器1979年初春,中国人民解放军在对越自卫还击保卫边疆作战的过程中,发现越军冒天下之大不韪,悍然对我军进行了多次小规模的,以西埃斯刺激性毒剂为主的扰乱性化学袭击。根据实战情况分析,越浙江省政府公布一批职务任免通知来源浙江之声记者何冰倩浙江省人民政府网版权归原作者所有,如有侵权请及时联系近日,浙江省政府官网公布了一批职务任免通知,详情浙江省人民政府关于华宣飞等职务任免的通知省政府研究决定华宣浙江省象山中学2022学年秋季运动会圆满落幕青春正当时,拼搏向未来10月31日上午,迎着煦煦和风,灿灿秋阳,浙江省象山中学2022学年秋季运动会如期而至。师生齐聚一堂,共赴一场心灵与体魄的交流,一场力与美的盛宴。学校方阵红旗高瓴盯上了万华化学文荆玉投资一家传统的化工企业,这在高瓴资本的二级市场投资历史上并不常见。10月24日,化工茅万华化学发布公告称,2022年前三季度,实现营业收入1304。2亿元,同比增长21。53近十年诺贝尔化学奖得主汇总,其研究使化学领域产生了哪些巨变?10月5日下午,2022年诺贝尔化学奖揭晓,凭借对点击化学和生物正交化学方面所做出的贡献,卡罗琳露丝贝尔托西(CarolynR。Bertozzi)摩顿梅尔达尔(MortenMeld湖南省级领导干部在省委党校省科技厅省住建厅宣讲党的二十大精神红网时刻新闻11月10日讯(记者刘志雄卢欣吴公然)按照省委统一部署,10月10日,省人大常委会副主任张剑飞,副省长陈飞李建中分别在省委党校(湖南行政学院)省科技厅省住建厅宣讲党的二恒大的双11今年双11,最大博人眼球的不是以往年双11多少秒破亿,多少时间破十亿,多少时间破百亿的报道,而是一则恒大挂牌出售原深圳总部地块的消息占据了各大新闻的头版。报道说11月11日,深圳公李佳琦的双十一,改变了什么?美眉们,我们来咯!10月24日下午3点,伴随着双十一预售首日的热络,李佳琦准时出现在淘宝直播间。这天,李佳琦直播间的主题是超级美妆节,他共直播了9小时53分33秒。星图数据显示,当中国禅宗祖师有一天,达摩向他的师傅求教说我得到佛法以后,应到何地传化?般若多罗说你应该去震旦(即中国)。又说你到震旦以后,不要住在南方,那里的君主喜好功业,不能领悟佛理。达摩遵照师父的嘱咐,准国内首条海上观航演航线在珠海首航成功11月10日,国内首条海上观航演航线首航取得圆满成功。畅游伶仃洋海上观航演航线由九洲蓝色干线精心策划打造,航线聚焦珠海国际航天航空博览会,以飞行表演为主线,精选最精彩的时段,通过大
天南地北恨偏长,痴情儿女命多劫在很久以前,有一个风尘女子曾和我很平静地诉说着一件陈年往事妾身本是一个烟花女子,残破不堪的身子已经让我不配再拥有爱情,不过也同样我也不配再拥有爱人,只可惜不知道是上苍的玩笑,还是造戴着面具的人作者莫奈雾气,弥漫于山野,使眼前显得一片朦胧。而之所以有时候我们看不到太阳是因为乌云将其遮挡。而冬季之所以白茫茫是因为雪花的覆盖。自然尚是如此,而人更是喜欢以面具示人。当然起初我并英格兰无缘成为第一支晋级球队,全场7次射门,被质疑父子局11月26日,世界杯小组赛继续展开争夺,在一场焦点战中,英格兰与美国队展开对决,上一场比赛英格兰展现出了强悍的实力,面对亚洲劲旅伊朗,他们取得了碾压性的胜利,也正是由于英格兰如此强大师赛32强仅剩12席!丁俊晖领衔6位中国球员作最后冲击(附赛程)北京时间11月26日,2022斯诺克德国大师赛资格赛继续进行,目前赵心童颜丙涛田鹏飞肖国栋张安达彭奕淞赵剑波7名中国选手在前5日的资格赛中闯入正赛32强,正赛将于2023年2月1日趣闻沙特奖励球员每人一辆劳斯莱斯?前沙特球员辟谣假新闻文懂车帝原创邢秋鸿懂车帝原创行业11月26日,据媒体人杜立言报道,沙特球员获得劳斯莱斯幻影奖励是假新闻。图片来源于网络杜立言透露,咨询了一位沙特退役球员,沙特球员是否获得了劳斯莱斯乔尔杰维奇结束隔离,工作正式开启,男篮大换血,姜宇星有望入选北京时间11月26日,乔尔杰维奇及他的教练团队结束隔离,他将第一时间前往赛区,正式开启工作。昨日,乔尔杰维奇通过社交媒体,晒出了他观看塞尔维亚世界杯比赛的照片。值得一提的是,CBA逆转险胜!哈里斯2310,班凯罗194,塔克尴尬,尼昂暴走创奇迹北京时间11月26日,NBA常规赛76人客场挑战魔术,恩比德哈登和马克西缺阵,少了三大主力,76人的实力无疑受到了重大影响,但纵观全场来看,76人却展现出了极强的韧性。首发方面,7拒绝20分大翻盘!湖人击败马刺!詹姆斯浓眉合砍44分,威少被弃用湖人和马刺的nba常规赛,这是湖人必须要拿下来的比赛,如果这样的马刺都赢不了的话,湖人就赶紧交易吧,直接交易三巨头重建。经过48分钟的鏖战,没有冷门发生,但是过程却让人失望,湖人在梅西的三个儿子,个个都像他!贝克汉姆的四个孩子,一个都不像他梅西一家梅西1987年出生,今年35岁,和妻子安东内拉罗库索同为罗萨里奥人,并且从小一起长大,算是青梅竹马,二人孕育了三个孩子大儿子,取名蒂亚戈二儿子,取名马蒂奥。三儿子,取名西罗C罗5战8进球封神,三妻四子,事业情感双丰收11日5日凌晨,C罗5战世界杯喜提8粒进球,一举超越梅西成为第一射手!C罗让别人骄傲的不仅是球场成绩,其情感经历也让人望尘莫及!房子超大!技术超好!S过8万女人!这是C罗前女友内蕾浓眉詹姆斯复出对我们是件大好事希望他能继续保持良好状态直播吧11月26日讯今日NBA常规赛,湖人客场10594力克马刺。安东尼戴维斯赛后接受了采访。谈到今日复出的詹姆斯,浓眉开心地说道他回来对我们来说真是一件大好事,他在场上的感觉看起