
# Kafka扩容/缩容会影响业务吗？
扩容/缩容Kafka实例的影响如[表1]所示。
 表1变更实例规格的影响 
| 变更配置类型    | 影响                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|
| 基准带宽/代理数量 | - 扩容基准带宽/代理数量不会影响原来的代理，**业务也不受影响**。  - 扩容基准带宽/代理数量时，系统会根据当前磁盘大小进行相应比例的存储空间扩容。例如扩容前实例的代理数为3，每个代理的磁盘大小为200GB，扩容后实例的代理数为10，此时代理的磁盘大小依旧为200GB，但是总磁盘大小为2000GB。  - **新创建的Topic才会分布在新代理上** ，原有Topic还分布在原有代理上，造成分区分布不均匀。通过[修改Kafka分区平衡](https://support.huaweicloud.com/usermanual-kafka/kafka_ug_0023.html)，实现将原有Topic分区的副本迁移到新代理上。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 存储空间      | **扩容存储空间不会影响业务**。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 代理规格      | - 若Topic为**单副本** ，扩容/缩容期间无法对该Topic生产消息或消费消息，会造成**业务中断**。  - 若Topic为**多副本** ，扩容/缩容代理规格**不会造成服务中断**，但会逐个节点重启，负载会转移到剩余节点上，建议您在业务低峰期扩容/缩容。  - 扩容/缩容代理规格的过程中，节点滚动重启造成分区Leader切换，会发生**秒级连接闪断** ，在用户网络环境稳定的前提下，Leader切换时长一般为**1分钟以内** 。多副本的Topic需要在生产客户端配置**重试机制** ，方法如下： - 生产客户端为**Kafka开源客户端**时，检查是否配置retries和retry.backoff.ms参数。建议参数值分别配置为：retries=10，retry.backoff.ms=1000。  - 生产客户端为**Flink客户端** 时，检查是否配置重启策略，配置重启策略可以参考如下代码。 ``` StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setRestartStrategy(RestartStrategies.fixedDelayRestart(10, Time.seconds(20))); ```     - 若实例已创建的分区数总和大于待缩容规格的实例分区数上限，此时无法缩容。不同规格配置的实例分区数上限不同，具体请参见[产品规格](https://support.huaweicloud.com/productdesc-kafka/Kafka-specification.html)。 例如：kafka.4u8g.cluster\*3的实例，已创建800个分区，您想把此实例的规格缩容为kafka.2u4g.cluster\*3，kafka.2u4g.cluster\*3规格的实例分区数上限为750，此时无法缩容。   - 变更代理规格的时长和代理数量有关，单个代理的变更时长一般在**5\~10分钟**，代理数量越多，规格变更时间越长。   |
   
