Nacos 3.0 正式发布,有重大升级更进.......

发布于:2025-05-12 ⋅ 阅读:(52) ⋅ 点赞:(0)

Nacos 3.0 最近正式发布了,这是一次非常重大的版本升级,支持了许多新功能。

图片

Nacos 3.0 主要升级更新如下:

1、运行环境升级

Nacos 3.0依赖的Java环境,升级JDK17及以上版本,下面是官网的说明。

图片

这一升级不仅能修复安全漏洞,提升 Nacos 的安全性,另外,Spring Boot 3.x 支持了 Java 原生启动,所以还能利用 Java 原生启动功能来提升性能。

2、API 分类精细化

在 Nacos 3.0 版本之前,API 主要分为两大类:OpenAPI 和 AdminAPI。一个给面向客户端应用程序,后者则提供给运维人员管理和使用的。这样分类比较粗,无法满足安全认证的需求。

Nacos 3.0 对 API 做了更细致的划分,由以前的 2 大类分成了现在的 4 大类,如图所示:

图片

Nacos 3.0.0 中的最新 API 分类:

  • OpenAPI: 面向客户端和应用程序的。

  • AdminAPI:提供给运维人员管理和使用的;

  • ConsoleAPI: 服务于控制台界面;

  • InnerAPI: 用于引擎节点之间内部通信。

这样对 API 的设计,不仅可以满足 API 调用的安全性要求,对易用性也有了很大提升。在我们平时 API 的设计和管理中,可以作为一个参考。

另外,在 Nacos 3.0 版本中,Nacos 控制台 UI 使用了新的 v3 控制台 API 替换旧的 v1 API,并且默认禁用旧的 v1 API 使用的旧控制台 UI。

3、全新的 Admin API推出

在 Nacos 的早期版本中,AdminAPI 主要面向运维人员,专注于 Nacos 集群的维护操作。由于当时的设计场景多以人为本地调用为主,因此 AdminAPI 的定义较为随意,导致其安全性和标准化程度不足。这使得后续的控制台在复用 AdminAPI 时面临困难,同时也给希望开发自定义控制台或构建管理平台的开发者带来了挑战。

为了解决这些问题,Nacos 3.0 正式版将对 AdminAPI 进行全面的重新设计。

图片

具体改进内容:

  • 规范 API 请求体、返回体和错误码等标准,提升整体的标准化水平。

  • 默认启用并优化 AdminAPI 的身份验证,以增强安全性

  • 提供 Maintainer-SDK,支持开发者自定义管理程方便使用。

这些改进将为 Nacos 控制台与引擎的灵活拆分和部署奠定坚实基础。

    4、按 API 类型默认启用安全认证

    在 Nacos 3.0 之前,所有 API 都采用统一的安全认证方式,这对于 InnerAPI 和 AdminAPI 等主要用于内部调用的 API 来说并不适合。此外,由于所有 API 的安全认证采用同一个开关,导致在客户端和应用程序完成身份设置之前无法开启安全认证,从而带来了更高的安全风险。

    为了解决这些问题,Nacos 3.0 将根据不同 API 类型默认采用不同的安全认证策略:对于 InnerAPI 和 AdminAPI,将默认启用 ServerIdentity 进行身份验证;对于 ConsoleAPI,将默认启用用户名和密码的身份及权限校验;而对于客户端和应用程序使用的 OpenAPI,则默认与 Nacos 2.0 保持一致,即默认不开启安全认证,需要用户自行查找并启用。这样做不仅提升了 Nacos 集群的数据安全性,还增加了用户在可信环境中的易用性,以及在升级启用安全认证过渡期间的稳定性。

    图片

    5、优化默认命名空间

    在 Nacos 中,命名空间 ID 是命名空间的唯一标识符。然而,许多用户在使用默认命名空间 public 时,错误地将名称“public”作为 ID 配置到应用程序中,这导致了一些问题。同时,其他正常使用此命名空间的用户对默认命名空间 public 的 ID 为空字符串''感到困惑。这种困惑源于服务发现模块可以使用 public 作为命名空间 ID 并将其视为默认处理方式,而在配置管理模块中却并非如此。简而言之,默认命名空间 ID 的处理方式存在不一致性。

    为了解决默认命名空间 ID 的使用问题Nacos 3.0 将自动将其匹配为 public 以进行后续处理,从而兼容旧客户端的访问请求。

    图片

    需要注意的是,Nacos 3.0 Alpha 版本在数据存储的平滑迁移和适配方面尚未进行处理,因此进行直接升级会导致配置数据无法获取,并且目前无法实现平滑升级。不过,Nacos 3.0 的正式版本将会支持平滑升级。

    6、支持先进的 xDS 协议

    xDS(Extended Discovery Service)是一组由 Envoy proxy 团队提出的协议,广泛应用于服务网格中,旨在服务发现和配置管理,以支持现代微服务架构下的动态配置。

    Nacos 作为微服务生态体系中的注册与配置中心,通过标准化协议来满足服务网格的功能需求,成为云原生化的核心要求之一。

    在 Nacos 2.0 版本中,Nacos 通过 Istio 的 MCP 协议获取服务数据,并将其转换为 xDS 协议数据。然而,这一过程依赖于中间组件 Istio,这导致系统的复杂性和稳定性面临风险。而在 Nacos 3.0 版本中,Nacos 直接支持 xDS 协议中的 EDS、LDS、RDS 和 CDS 协议,显著降低了对 Istio 组件的依赖,提高了系统的易用性和稳定性。

    7、控制台和引擎的可拆分部署

     Nacos 3.0之前,控制台(Console )和引擎(Server ) 是一起部署的,只要部署了 Nacos Server,就能访问 Console 控制台。Nacos 3.0.0 实现了控制台和引擎节点的灵活拆分部署,控制台(Console )将独立在一个 Web 容器中运行,允许用户设定独立的访问端口。这一改变使得 Nacos 集群的运维人员能够更灵活地配置网络访问控制列表(ACL),例如,仅将控制台端口开放给办公网络。

    图片

    同时,配合控制台默认启用的安全认证,这将显著提高 Nacos 的安全性。此外,独立的 Web 容器还将与全新的 Admin API 相结合,实现控制台和引擎节点的灵活拆分部署,使得它们能够在不同节点上运行,进一步增强安全性。

    8、MCP Registry 服务管理

    MCP :Model Context Protocol,即:模型上下文协议,它是一种 AI 开放协议,它标准化了应用向 AI 应用提供上下文的方式。

    Nacos 3.0 的 MCP Registry 围绕着MCP服务注册、MCP 服务订阅,进行 MCP 服务整体的产品化管理能力;

    MCP 多种类型注册,包含 MCP Server 注册、编排、动态调试和管理,并且提供 Nacos-MCP-Router 可以进行 MCP 动态发现,可以自动安装、代理 MCP Server ,Nacos 3.0 全生态面向 AI Registry 进行升级;

    图片

    使用 Nacos 管理 MCP 的优势:

    1. 存量 API 可以快速构建 MCP Server

      Nacos 配置存量 API 描述可以 0 代码的构建成 MCP Server,快速跟进 MCP 协议;

    2. MCP Server 统一管理平台

      存量API转化、私有构建 MCP Server、各种类型官方(local、remote) MCP Server 以及市场 MCP ,多种场景 MCP Server 统一进行管理,动态调整;

    3. MCP Credentials 密钥管理

      支持 MCP Server 相关密钥统一管理,基于 Credentials 模块可以统一管理和下发,配合 Router 无需配置到 AI Agent 上;

    4. MCP 信息动态下发实时生效

      MCP 描述信息、Tools 以及 Prompts 都需要进行调试,才能达到更好效果,Nacos 可以帮助管理和下发信息,更高效的调试描述;

    5. MCP信息历史版本管理

      Nacos 会管理和存储 MCP 信息历史版本,方便进行 Diff 对比差异,方便进行快速回滚;

    6. MCP信息灰度管理

      Nacos 在 MCP 信息生效的时候,可以进行灰度分批生效,方便对比 MCP 信息效果;

    7. 密钥配置加密管理

      MCP 信息里以及调用 API 过程中,需要密码等敏感信息,Nacos 提供了敏感信息加密的能力,帮助更安全的使用 MCP;

    8. MCP 返回格式 JSON 转换 XML

      和大模型交互都有体感,对模型来说,JSON 没有 XML 格式好用,所以在 MCP 返回信息格式上,Nacos 可以帮助 MCP 把返回格式从 JSON 变成 XML,方便大模型理解;

    9. MCP 服务管理及健康检查

      MCP 服务会越来越多,Nacos 有大规模服务管理能力,并且持续在迭代过程中,为 MCP 做健康检查、实时更新、负载均衡,起到 MCP 服务发现中心的托管作用。

    现如今,各个技术栈或应用都在卷 AI,为跟上节奏,Nacos一定会推出越来越多 AI 相关的能力。

    9、引入分布式锁

    Nacos 社区向用户征集了他们对 Nacos 3.0 的期望功能,其中支持分布式锁的需求是呼声最高的功能之一。分布式锁是一项在分布式应用中常用的功能,目前大多数实现依赖于 Zookeeper 或 Redis 等产品。许多用户已经将 Nacos 替换为 Zookeeper 来进行服务和配置管理,但由于 Nacos 尚未支持分布式锁,用户仍需额外运维 Zookeeper 集群,增加了系统的复杂性。

    因此,Nacos 3.0 正式版本计划引入分布式锁的实验性功能,以满足部分用户对轻量级分布式锁的需求。这一功能的推出将帮助用户减少对额外系统的依赖,从而简化微服务应用架构,拓展 Nacos 的使用场景。

    图片

    Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。