--- title: "Transform 断路器启用配置" date: 2026-03-09 lastmod: 2026-03-09 description: "transform.circuit_breaker.enabled 配置项用于控制是否启用 Transform 任务的断路器机制。" tags: ["Transform", "断路器", "内存保护", "稳定性"] summary: "配置项作用 # transform.circuit_breaker.enabled 配置项用于控制是否启用 Transform 任务的断路器机制。 当启用时,Transform 任务会在 JVM 内存使用率超过阈值时暂停执行,防止内存溢出。 配置项属性 # 配置路径: transform.circuit_breaker.enabled 数据类型: Boolean(布尔值) 默认值: true 是否可选: 是 作用域: NodeScope(节点级别) 动态更新: 是(可以动态更新,无需重启) 配置项详解 # 工作机制 # 断路器保护机制 启用 (true): Transform 任务执行前 │ ├── 检查 JVM 内存使用率 ├── 是否超过 threshold? │ ├── 是 → 阻止执行 ✅ │ │ ├── 等待内存释放 │ │ └── 定期重试 │ └── 否 → 允许执行 ✅ └── 完成 禁用 (false): Transform 任务执行前 │ ├── 跳过内存检查 └── 直接执行 ⚠️ 内存保护 # 断路器保护原理 保护阶段: ├── 验证阶段 │ ├── 检查内存使用 │ ├── 决定是否阻止 │ └── 保护系统 │ ├── 执行阶段 │ ├── 执行 Transform │ ├── 处理数据 │ └── 写入目标索引 │ └── 完成阶段 ├── 清理资源 ├── 更新状态 └── 通知结果 保护触发: JVM 内存使用率 > threshold (85%) │ ├── 阻止新的 Transform ├── 允许正在运行的完成 ├── 等待内存释放 └── 定期检查恢复 保护效果: ├── 防止 OOM ✅ ├── 保护集群稳定性 ✅ ├── 优雅降级 ✅ └── 自动恢复 ✅ 配置建议 # 默认配置(推荐) # transform: circuit_breaker: enabled: true # 默认值 建议: 生产环境必须启用,防止内存溢出。" --- ## 配置项作用 `transform.circuit_breaker.enabled` 配置项用于控制**是否启用 Transform 任务的断路器机制**。 当启用时,Transform 任务会在 JVM 内存使用率超过阈值时暂停执行,防止内存溢出。 ## 配置项属性 - **配置路径**: `transform.circuit_breaker.enabled` - **数据类型**: `Boolean`(布尔值) - **默认值**: `true` - **是否可选**: 是 - **作用域**: NodeScope(节点级别) - **动态更新**: 是(可以动态更新,无需重启) ## 配置项详解 ## 工作机制 ``` 断路器保护机制 启用 (true): Transform 任务执行前 │ ├── 检查 JVM 内存使用率 ├── 是否超过 threshold? │ ├── 是 → 阻止执行 ✅ │ │ ├── 等待内存释放 │ │ └── 定期重试 │ └── 否 → 允许执行 ✅ └── 完成 禁用 (false): Transform 任务执行前 │ ├── 跳过内存检查 └── 直接执行 ⚠️ ``` ## 内存保护 ``` 断路器保护原理 保护阶段: ├── 验证阶段 │ ├── 检查内存使用 │ ├── 决定是否阻止 │ └── 保护系统 │ ├── 执行阶段 │ ├── 执行 Transform │ ├── 处理数据 │ └── 写入目标索引 │ └── 完成阶段 ├── 清理资源 ├── 更新状态 └── 通知结果 保护触发: JVM 内存使用率 > threshold (85%) │ ├── 阻止新的 Transform ├── 允许正在运行的完成 ├── 等待内存释放 └── 定期检查恢复 保护效果: ├── 防止 OOM ✅ ├── 保护集群稳定性 ✅ ├── 优雅降级 ✅ └── 自动恢复 ✅ ``` ## 配置建议 ## 默认配置(推荐) ```yaml transform: circuit_breaker: enabled: true # 默认值 ``` **建议**: 生产环境必须启用,防止内存溢出。 ## 内存受限环境 ```yaml transform: circuit_breaker: enabled: true jvm: threshold: 75 # 降低阈值 ``` ## 动态更新 ```json PUT /_cluster/settings { "transient": { "transform.circuit_breaker.enabled": false } } ``` ## 相关配置 | 配置项 | 作用 | 默认值 | |--------|------|--------| | `circuit_breaker.enabled` | 断路器开关 | true | | `circuit_breaker.jvm.threshold` | 内存阈值 | 85 | ## 注意事项 1. **默认值**: 默认值为 `true`,推荐保持。 2. **动态更新**: 支持动态更新。 3. **内存保护**: 防止 Transform 导致 OOM。 4. **合理配置**: 根据集群内存大小调整阈值。 5. **监控建议**: 监控 JVM 内存使用率。