跳转到内容

发布模型

OpenFlare 的发布模型以完整配置版本为中心,而不是在线修改节点配置。

标准链路:

text
修改规则 -> 预览/查看 diff -> 发布 -> 生成完整配置版本 -> 激活版本 -> Agent 拉取 -> 本地应用 -> 上报结果

发布规则

Server 发布时必须:

  1. 读取全部启用的 proxy_routes
  2. 读取 Server 侧 OpenResty 主配置与结构化参数。
  3. 渲染完整 OpenResty 配置。
  4. 计算 checksum
  5. 写入 config_versions
  6. 切换激活版本。
  7. 让 Agent 在后续 heartbeat 中发现并应用。

版本号格式固定为 YYYYMMDD-NNN

不可变历史

历史版本不可变。回滚不是修改旧版本,而是重新激活旧版本。

全局同时只能有一个激活版本,当前不做按节点分组的差异化版本。

Agent 应用策略

Agent 发现新版本后会备份旧文件,写入主配置、路由配置、证书与必要 Lua 资源,再执行配置校验和 reload。

如果新配置激活失败,Agent 必须尝试恢复运行;回滚成功时上报警告,回滚后仍无法恢复运行时上报失败。

某个目标 version + checksum 一旦应用失败并回退,Agent 会在本地状态中阻断该目标重复应用。只有远端激活版本或 checksum 发生变化,才允许再次尝试。

基于 Apache License 2.0 发布