springcloud线上发布超时系列文章:
springcloud线上发布超时方案之feign优化(ribbon饥饿加载)
springcloud线上发布超时方案之grpc优化
springcloud线上发布超时方案之终极杀招:预热(测试用例)
前言
经过上面两章的优化,超时报错有所减少,但是只是得到了缓解但是当流量切换时还是会有大量超时。
方案
这里又增加了一个启动后预热,即在程序启动后执行测试用例n次,让hystrix、web容器线程池等资源初始化。在测试用例执行完成之前,为了保证服务不对外提供服务,这里可以分两种。
延迟注册到注册中心
如果时使用注册中心来进行服务发现等,这里可以采用延迟注册来保证测试用例的成功执行,
如果时eureka为注册中心可以配置initial-instance-info-replication-interval-seconds参数,默认是40s,可以将其改为1分钟
如果是consul或者zk,可以修改响应的延时注册时间,或者修改服务端有效时间
kubernetes中增加服务ready延时时间
这里再deploy.yml中配置如下:
spec:
replicas: 1
template:
spec:
containers:
- a