环境 k8s spring-cloud-alibaba=2021.0.4.0 nacos=2.2.0 您好,我现在想实现一个优雅停机的逻辑,具体如下:
- 在执行停机逻辑之前,先将服务权重设置为 0
- 等待Client端的缓存刷新
- 等待已经hold的请求结束
- 执行停机逻辑,从nacos摘除
现在有问题的是第1步,我的实现逻辑是通过sh脚本调用nacos的API,但是NacosAPI偶发不可用(删除/data/protocol数据可恢复),导致这个方案显的不够完美,跟踪代码发现停机逻辑是在静态代码块中注册的退出钩子,但又不知改如何修改这个逻辑,您能给我点建议吗?谢谢!