springcloud 项目 相同服务部署两个节点 , 其中一个节点挂掉后, 路由到停止节点熔断问题 ,导致短时间内接口访问成功率在50%
解决思路 :
1 项目关闭 调用 钩子函数 删除 eureka 服务注册 (linux 项目关闭不要用kill -9 强制关闭钩子函数不执行)
DiscoveryManager.getInstance().shutdownComponent();
2 zuul 网关开启重试功能
#是否开启重试功能
zuul.retryable=true
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
这样就可以实现 springcloud项目生产与灰度的切换, 以及单节点挂掉 ,不影响项目接口访问问题. 也就是可以实现不停服务上线项目
简单的实现逻辑 欢迎大佬来指正 欢迎评论区留言 有更简单的方法实现,也可以告诉我一下 谢谢