
# 滚动升级
推荐使用ServiceStage部署Spring Cloud应用，使用ServiceStage能够方便地实现滚动升级。
当使用ServiceStage部署应用的时候，可参考[设置应用健康检查](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0061.html)分别配置组件存活探针、组件业务探针，用以检测微服务的"存活"状态和"就绪"状态。
spring Boot提供了开箱即用的容器探针，LivenessStateHealthIndicator 、ReadinessStateHealthIndicator。
配置探针，需要启用spring-cloud-starter-huawei-actuator功能。
```
<dependency>
  <groupId>com.huaweicloud</groupId>
  <artifactId>spring-cloud-starter-huawei-actuator</artifactId>
</dependency>
```
默认情况下LivenessStateHealthIndicator 、ReadinessStateHealthIndicator不包含任何的其他健康检查。Spring Cloud Huawei提供了一个健康检查功能，当服务注册成功，返回true。可以在ReadinessStateHealthIndicator包含这个检查：
```
management.endpoint.health.group.readiness.include=registry
```
然后配置如下[表1]设置组件业务探针。完成设置以后，服务注册成功的情况下，ServiceStage才会展示服务就绪状态，滚动升级的时候，也会在实例注册成功后，才停止老实例。
 表1组件业务探针配置 
| 参数     | 是否必填 | 参数含义                                   |
|:---|:---|:---|
| 路径     | 是    | 请求的URL路径，例如/actuator/health/readiness。 |
| 端口     | 是    | 微服务的端口。                                |
| 延迟时间/秒 | 否    | 开始检测的时间，对于启动时间较长的微服务，可以适当延长。           |
| 超时时间/秒 | 否    | 开始检测后，如果超过该时间未检测到探针状态则检测失败。            |
   
![](https://support.huaweicloud.com/bestpractice-cse/public_sys-resources/note_3.0-zh-cn.png)
Spring Cloud Huawei 1.9.0-Hoxton和1.9.0-2020.0.x及以上版本才提供这个模块。
除了设置探针，还需要设置滚动升级策略。核心的参数为"最大无效实例数"。"最大无效实例数"的默认值是0，当只有1个实例的情况下，滚动升级会存在中断。建议设置0\<=最大无效实例数\<实例数。
