跳转到内容
Alibaba Cloud AI Agent Handbook 已开源,汇集50+工程师的一手实践经验点此了解

兼容与废弃

Nacos 会在版本演进中保留一部分兼容能力,帮助用户完成升级和迁移。这些能力不是推荐的新模型。新接入和新开发应优先使用当前文档中的标准能力。

状态怎么理解

状态含义用户建议
标准能力当前推荐使用的 API、SDK、配置或资源模型。新系统直接使用。
仅兼容为了避免破坏已有用户而保留。只在迁移期使用,不要继续扩展依赖。
已废弃仍可用,但后续可能移除。尽快迁移到替代方案。
待移除已废弃,且移除条件或方向已经明确。制定迁移计划,不建议继续上线新用法。
实验性尚未承诺稳定行为。先小范围验证,接受后续不兼容调整。

常见兼容入口

场景当前建议继续阅读
v1/v2 HTTP API迁移到 v3 OpenAPI 或当前 SDK。确有迁移窗口需求时,临时使用 legacy adapter。升级手册、OpenAPI 概览
兼容开关只在升级或迁移窗口期打开。稳定后关闭。系统参数
废弃 v3 AI API旧 Pipeline 查询与 MCP 导入端点默认返回 410 Gone / API_DEPRECATED;迁移到标准入口,共享兼容开关只用于临时恢复。受影响 API 与替代入口
JRaft 节点间鉴权配置一致的 Server identity,升级完成后自动启用;启用后不要直接滚动降级到不支持该鉴权的旧版本。鉴权准备、回滚注意事项
A2A 到 Agent/RAD保留旧 A2A 协议兼容;外部 RAD 在历史迁移完成前拒绝业务请求。先完成服务端迁移,再升级依赖 RAD 的客户端。升级手册
Beta/Tag 灰度配置兼容Nacos 3.3 起不再自动迁移旧 config_info_beta、config_info_tag 表,升级前需迁移到 config_info_gray 当前灰度模型。当前 beta/tag API 仍由 config_info_gray 和 GrayRule 支撑。升级手册、配置灰度发布
默认命名空间迁移Nacos 3.3 起不再自动在空 tenant 与 public 之间做存储迁移或双写。空或省略 namespace 请求仍会归一为默认 namespace public。升级手册、Java SDK 使用手册
插件管理重构迁移到 pluginType:pluginName、标准 definition key 和统一状态。AI Resource Import 的旧双层 SPI/Source/preset 模型已移除。插件迁移、AI 资源导入插件
旧控制台仅用于兼容存量使用习惯。新部署使用新控制台。控制台手册
Java SDK 已废弃配置项不在新系统中继续使用。Java SDK 属性配置
CLI 已废弃命令使用显式生命周期命令替代快捷 publish 命令。Nacos CLI 使用指南
实验性功能只在明确接受变更风险后使用。实验性功能概览

Nacos 3.3 配置兼容迁移移除

Nacos 3.3 移除了 Config 3.0 之前的运行时兼容迁移逻辑,包括默认 namespace 在 legacy 空 tenant 与 public 之间的存储迁移、旧 config_info_beta/config_info_tag 到 config_info_gray 的迁移,以及相关双写和混部同步逻辑。

从 2.x 升级仍属于有限支持,不应仅根据当前版本号判断历史数据已经迁移。若使用过默认 namespace 或旧 beta/tag 灰度表,应先在支持迁移的 3.0.x~3.2.x 完成空 tenant 到 public、旧灰度表到 config_info_gray 的迁移,并验证查询与灰度行为。若未使用这些数据,则不受这一项移除影响,但仍需满足其他升级条件。具体路径见升级手册。

这不是移除当前默认 namespace 语义,也不是移除当前 beta/tag 灰度 API。空或省略 namespace 请求仍归一为 public;当前 beta/tag 灰度行为仍由 config_info_gray 和 GrayRule 支撑。

插件管理与 AI Resource Import breaking change

next 版本插件使用统一身份、状态、配置来源和生命周期。历史实现如果未实现 PluginConfigSpec 仍可加载,但自动显示为 configurable=false。Config Change 的 ConfigChangeConfigs 已废弃但仍处于兼容周期。

AI Resource Import 是不兼容迁移:AiResourceImportSource、Source Provider SPI、preset、nacos.ai.resource.import.sources[N].* 以及通过配置复制同一实现到多个 endpoint 的模型均已移除。一个 pluginName 现在对应一个确定来源,sourceId 等于 managed pluginName;旧 API 的 pluginName 字段继续表示 importerType。新部署使用 nacos.plugin.ai-resource-import.*,迁移清单见插件迁移。

使用兼容能力时要确认什么

  • 它是否只是为了升级或迁移临时使用。
  • 是否有明确的替代 API、SDK、配置或资源模型。
  • 是否会改变鉴权、可见性、响应格式、性能或数据一致性。
  • 是否需要额外安装插件、adapter 或独立组件。
  • 迁移完成后如何关闭兼容开关或移除兼容组件。

不建议的做法

  • 在新业务中主动依赖旧 API 或已废弃 SDK 方法。
  • 把兼容字段当作新的资源语义。
  • 长期打开短期兼容开关而不做迁移。
  • 用 Console API 作为自动化系统的长期稳定接口。
  • 把实验性功能当作稳定生产能力。

相关文档