
# 弹性伸缩分区
用户在创建通道成功后，随着业务的发展和变化，对通道容量有了新的需求。弹性伸缩分区可以对已经创建成功的通道进行分区扩容或者分区缩容以满足用户这一需求，支持自动和手动扩缩容两种方式。
#### 约束限制
- 每个通道在一小时内仅可操作实现10次自动扩容、10次手动扩容、1次缩容（包含手动缩容和自动缩容）操作。
- 进行弹性伸缩分区后，有如下注意事项：
  - 上传数据时，不建议设置数据的PartitionKey，DIS会自动根据通道分区的数量将数据均匀散列到多个分片中。如果设置数据的PartitionKey，可能会导致数据倾斜，产生通道限流。
  
  - 下载数据时，需要定期的使用descriptStream接口检测通道分区数量的变化，以便DIS可以下载到所有分区的数据。
   
 
#### 自动扩缩容
**自动扩缩容原理**
- 当上一分钟内通道触发流控（即超过通道内分区最大吞吐量开始限流）、且通道上传流量大于通道总带宽80%时，触发自动扩容操作，扩容目标分区数=分区数/0.6，向上取整。 例如，有5个普通分区时，上传总带宽为5MB/秒。当上一分钟通道触发流控后、且通道上传流量达到4MB/秒以上时，触发自动扩容操作，目标分区数为5/0.6=8.3，向上取整后为9。
  
- 当通道上传流量和下载流量均小于30%时，触发自动缩容操作，缩容目标分区数=分区数/2，向下取整。 例如，有5个普通分区时，上传总带宽为5MB/秒，下载总带宽为10MB/秒。当通道上传流量低于1.5MB/秒、且下载流量低于3MB/秒时，触发自动缩容操作，目标分区数为5/2=2.5，向下取整后为2。
  
 
**自动扩缩容规则**
- 自动扩缩容间隔时间大于1分钟，且发生扩容（含自动扩容和手工扩容）后2分钟内，不触发自动缩容。发生缩容（包含手动缩容和自动缩容）后的2分钟内，不触发自动扩容。
- 扩容分区时，首先将状态为"DELETED"的分区恢复为"ACTIVE"状态，成为可读写分区。其次将状态为"EXPIRED"的分区恢复为"ACTIVE"状态，成为可读写分区。若前两者恢复后仍不满足扩容需求，系统将新建分区。
- 对已有分区进行缩容操作后，缩容成功的分区不再进行计费也不参与配额控制。在[步骤1：开通DIS通道](https://support.huaweicloud.com/usermanual-dis/dis_01_0601.html)中配置的"生命周期"时间内，缩容成功的分区可以读取数据不可写入数据，超过此时间则不可读取/写入数据。
 
**执行自动扩缩容操作**
1. 登录DIS控制台。
2. 在控制台左上角选择区域。
3. 按照如下方法进行自动扩缩容。 
   在左侧列表栏中选择"通道管理"。
   1. 在"通道管理"页面中单击需要扩缩容的通道名称。
   
   2. 单击通道详情页面的"自动扩缩容"菜单后的编辑按钮![](https://support.huaweicloud.com/usermanual-dis/zh-cn_image_0000001671447933.png)。
   
   3. 系统弹出"变更自动扩缩容参数"对话框，将自动扩缩容的开关开启。
      图1变更自动扩缩容参数   
      ![](https://support.huaweicloud.com/usermanual-dis/zh-cn_image_0000001671647961.png "点击放大") 
   
   4. 设置自动扩缩容的分区上限和下限，单击"确认"。
    
   
   
 
#### 手动扩缩容
**手动扩缩容规则**
- 扩容分区时"目标分区数量"需大于当前分区数量，且小于等于租户剩余配额与当前分区数量的总和。
- 扩容分区时，首先将状态为"DELETED"的分区恢复为"ACTIVE"状态，成为可读写分区。其次将状态为"EXPIRED"的分区恢复为"ACTIVE"状态，成为可读写分区。若前两者恢复后仍不满足扩容需求，系统将新建分区。
- 缩容分区时"目标分区数量"需要大于等于"1"，且小于当前分区数量。
- 对已有分区进行缩容操作后，缩容成功的分区不再进行计费也不参与配额控制。在[步骤1：开通DIS通道](https://support.huaweicloud.com/usermanual-dis/dis_01_0601.html)中配置的"生命周期"时间内，缩容成功的分区可以读取数据不可写入数据，超过此时间则不可读取/写入数据。
 
**执行手动扩缩容操作**
1. 登录DIS控制台。
2. 在控制台左上角选择区域。
3. 选择如下任意一种方法进行手动扩缩容。 
   - 在左侧列表栏中选择"通道管理"。
     1. 在"通道管理"页面中单击需要扩缩容的通道名称。
     
     2. 在通道详情页面的右上角单击"扩缩容"按钮，弹出"变更分区数目"对话框。
     
     3. 修改"目标分区数"，单击"确认"。
      
   
   
   
   - 在左侧列表栏中选择通道管理。
     1. 针对待扩缩容的通道，选中"操作"列中的"更多"下拉列表中的"扩缩容"。
     
     2. 弹出"变更分区数目"对话框。
     
     3. 修改"目标分区数"，单击"确认"。
      
   
   
   
   
 
#### 查看扩缩容日志
1. 登录DIS控制台。
2. 在控制台左上角选择区域。
3. 在左侧列表栏中选择"通道管理"。
4. 单击需要查看的通道名称。进入所选通道的管理页面。
5. 选择"扩缩容日志"页签。查看该通道的扩缩容详情。
 
