
# 如何选择停服不停服
业务切换是整个上云迁移的关键环节，出问题会直接影响企业业务，不同业务对停服的要求是不一样的，比如，有些业务在切换期间是不允许停服的，停服会造成较大的业务损失；有些业务在切换期间是允许停服的，比如办公OA系统，夜间非工作期间可以停服；有些业务系统，为了更好的客户体验，希望切换期间部分浏览类的业务继续提供服务，只是涉及写操作的业务受到影响。设计切换方案时，对于不同的业务场景和停服要求，会面临多种方案的选择，下面详细介绍如何合适的切换方案。
业务系统从源端切换到目的端，切换方案可以分为3类，即停服切换、停写不停读切换和不停服切换。每类切换方案优缺点具体如下表：
表1切换方案比较 
| 切换类型  |                          方案说明                           | 数据一致性风险 | 业务改造投入 |   停服时长（小时）   ||
| 切换类型  |                          方案说明                           | 数据一致性风险 | 业务改造投入 | 读  |    写     |
|:------------------------------------------:|:-------------------------------------------------------:|:-------:|:------:|:--:|:--------:|
|                    停服切换                    |                最常用的切换方式，停止服务切换能重复保证数据一致性                |    低    |   低    |   0.5\~3.5   ||
|                  停写不停读切换                   |        较少用的切换方式，需要业务整改来实现停写不停读，停止写服务切换能充分保证数据一致性        |    低    |   中    | 不停 | 0.5\~3.5 |
|                   不停服切换                    | 很少用的切换方式，需要业务整改来实现双写或者双向同步，不停服切换需要业务改造来保证数据一致性，复杂度和难度较高 |    高    |   高    | 不停 |    不停    |
   
所以3种切换方案各有优缺点，不存在风险小、投入少、中断时间短的完美方案，企业需根据业务场景、停服要求和投入产出选择合适的方案。关于如何选择停服不停服，您可以从以下几个方面考虑：
1. **根据行业选择**
不同行业有各自的行业标准和要求，例如部分电商零售行业，在凌晨后，交易数量大幅度减少，甚至没有交易，停服后也不会造成重大社会影响，可以在凌晨后使用停服切换方案。而部分交通出行行业，全天24小时有业务，并没有明显的业务低峰期，停服会造成较大的业务损失，可能需要选择不停服切换方案。
1. **根据业务重要程度选择**
有些业务，例如游戏业务、金融业务，重要程度高，属于核心业务，又需要24小时提供服务，所以要选择不停服切换方案。其他业务，例如OA、运营等非核心业务，停服造成的业务损失可接受，就可以选择停服切换方案。
1. **根据项目周期选择**
业务不允许停服，如果上云周期较长，时间充足，且企业具备不停服的改造能力，可以选择进行双写改造，实现不停服切换。如果上云周期紧张或企业没有太多人力投入上云工作，建议选择改造量少、人力投入少的停服切换方案。
1. **根据投入产出选择**
不停服切换方案通常需要研发额外投入进行大量的应用改造才可以实现，停服切换方案则通常无需大量改造，研发投入工作量小。因此，投入产出也是切换方案选择的决策依据之一，企业可以在业务影响所造成的损失跟研发改造所产生的成本之间找到一个合理的平衡。
