pub struct OrchestratorConfig {
pub inbox_consumer: String,
pub cancel_max_attempts: u32,
pub compensate_max_attempts: u32,
pub resolve_max_attempts: u32,
pub timer_claim_limit: u32,
pub timer_lease_ms: i64,
pub pause_backoff_ms: i64,
pub startup_scan_limit: u32,
pub tenant_quotas: BTreeMap<String, u64>,
pub tenant_action_rates: BTreeMap<String, TenantActionRate>,
pub enable_manual_close: bool,
}Expand description
业务作用:Orchestrator 的运行参数;全部预算有界,自动状态不允许无限滞留。
Fields§
§inbox_consumer: StringOrchestrator result Inbox 的小写 canonical consumer 名称。
cancel_max_attempts: u32取消命令的最大 attempt 数;耗尽升级人工介入。
compensate_max_attempts: u32补偿命令的最大 attempt 数;耗尽升级人工介入,不伪造 COMPENSATED。
resolve_max_attempts: u32解决查询的最大 attempt 数;耗尽升级人工介入,不自动转 Rejected。
timer_claim_limit: u32单轮 timer 领取上限。
timer_lease_ms: i64timer 租约时长(毫秒)。
pause_backoff_ms: i64实例暂停时 timer 的轮询退避(毫秒);只是轮询节奏,不顺延业务 deadline。
startup_scan_limit: u32启动预检扫描非终态实例的上限。
tenant_quotas: BTreeMap<String, u64>每租户在飞实例上限(冻结表)。
未列出的租户不设限但仍精确记账(“先观测,不拒绝“档);列出的租户在创建事务内 原子预留,超限以稳定原因码拒绝新建、不影响已在飞实例收敛。上限只作用于创建, 配额拒绝与系统故障可区分,且不泄漏其它租户用量。
tenant_action_rates: BTreeMap<String, TenantActionRate>每租户变更类管理动作的速率上限(冻结表)。
覆盖 pause/resume/retry-compensation/retry-resolution/manual-close 五个会向恢复
通道注入外部副作用的动作;只读动作(检索、审计、用量查询)不占预算。未列出的
租户不限速且不写账本;max_actions = 0 表示完全封禁该租户的变更类管理动作。
预算与动作事务同提交:动作失败回滚时预算退还,拒绝携带稳定原因码并与系统
故障可区分,不泄漏其它租户用量。
enable_manual_close: bool人工关闭(MANUALLY_CLOSED)管理动作的受信能力开关。
滚动升级门禁:新终态一旦落库就不可回退,必须先让全部副本升级为能解析
MANUALLY_CLOSED 的读者,再由部署方打开本开关放行管理动作。默认关闭——
未显式开启的部署是“可读不产生“的兼容读者。