分布式---eureka平滑发布

一.先聊聊eureke的server与client配置
server端:eureka.server.enable-self-preservation//(设为false,关闭自我保护主要)
eureka.server.eviction-interval-timer-in-ms//清理间隔(单位毫秒,默认是60*1000)
client端:eureka.client.healthcheck.enabled = true//开启健康检查(需要spring-boot-starter-actuator依赖)
eureka.instance.lease-renewal-interval-in-seconds =10//租期更新时间间隔(默认30秒)
eureka.instance.lease-expiration-duration-in-seconds =30//租期到期
时间(默认90秒)
eureka.client.registry-fetch-interval-seconds 用来指定 Eureka Client 多久向 Eureka Server 获取一次注册表信息
二.client配置
在这里插入图片描述
三.发布流程
svc.sh启动脚本(部分代码)
eureka下线服务(注意:执行请求后,eurake客户端立即下线,但是流量还会进来,并没有立即切换到其它机器,so这里要等待)
在这里插入图片描述
eureka上线服务
在这里插入图片描述
服务的重启
在这里插入图片描述

整个发布流程是:下线注册中心服务 → 等待30s(必须比registry-fetch-interval-seconds大) → 执行发布脚本 → 服务启动成功 → 上线注册中心服务 ,从而可以做到平滑发布,经网关的链路不会受发布影响。(未经注册中心的服务尽快接入)

下线–等待30s-重启服务
在这里插入图片描述
启动完自动注册上线
在这里插入图片描述

从发布到发布完的结果:请求未尝一次失败
在这里插入图片描述

发布了3 篇原创文章 · 获赞 1 · 访问量 36

猜你喜欢

转载自blog.csdn.net/sam19911/article/details/105318199