[Nacos/Docker/MCP] Nacos 3.x : 为 AI MCP 而生

news/2025/9/20 0:27:37/文章来源:https://www.cnblogs.com/johnnyzen/p/19101904

0 序言 : Nacos 3.x 的发布

  • 2025年4月28日,Nacos 3.0 正式发布:MCP Registry、安全零信任、链接更多生态
  • 升级 MCP Registry,围绕着 MCP 服务管理,MCP 多种类型注册,包含 MCP Server 注册、编排、动态调试和管理,并且提供 Nacos-MCP-Router 可以进行 MCP 动态发现,可以自动安装、代理 MCP Server,全生态面向 AI Registry 进行升级;

image

image

  • 升级安全架构,默认开启鉴权,基础架构一系列升级,作为云原生时代的基础设施级产品,Nacos 3.0 不仅是技术能力的跃升,更是以更高效、安全的方式帮助用户构建云原生 AI 应用架构!
  • 做一个对未来1-3年乃至更长时间的技术趋势判断:

对于国内开发者而言,基于 Java 构建的 AI 原生应用架构中,尤其是涉及到 MCP 管理的场景中,则必然少不了 Nacos,少不了 Nacos 3.x。

  • 对于 Nacos 1.x / 2.x 不了解的朋友,可参见历往篇章。
  • Nacos <1> 架构与原理 - 博客园/千千寰宇
  • Nacos <2> 基于 Docker 安装Nacos 2.x - 博客园/千千寰宇
  • Nacos <3> 应用场景及高频问题(FAQ) - 博客园/千千寰宇

1 概述: Nacos 3.x

Nacos 3.x 的诞生背景

  • Nacos, /nɑ:kəʊs/Dynamic Naming and Configuration Service 的首字母简称
  • 其定位于一个更易于构建云原生 AI 应用的动态服务发现、配置管理和服务管理平台
  • 从 2018 年 7 月开始宣布开源以来,已经走过了第六个年头,在这六年里,备受广大开源用户欢迎,收获许多社区大奖。
  • Nacos 在社区共同的建设下不断成长,逐步的开始帮助用户解决实际问题,助力企业数字化转型,目前已经广泛的使用在国内的公司中,根据微服务领域调查问卷,Nacos 在注册配置中心领域已经成为国内首选,占有 50%+ 国内市场份额,被各行各业的头部企业广泛使用!

image

  • Nacos 在 2.X 版本经过近三年的技术演进,已成功实现最初设计的高性能架构与灵活扩展能力,并持续优化产品易用性与安全防护体系。

随着人工智能时代的全面到来,大语言模型LLM )的成熟应用正推动行业进入AI原生化发展阶段
在此背景下,业界对AI原生应用的【开发标准】的探索、AI Agent 框架的技术创新、动态 Prompt场景化需求,以及 MCP 协议、A2A 通信规范等技术生态的构建,均对服务治理体系提出了新的要求。
Nacos 3.0 架构迭代的就是为了更好的这些技术趋势
Nacos 3.0重点构建【面向AI原生架构的服务治理平台】,为 模型 / MCP Server / Agent新型业务智能场景架构提供更高效的运行支撑;

  • Nacos 3.0 提升【安全性】,整体架构安全拆分,默认开启鉴权,并且支持动态数据源密钥等零信任方案;多语言生态,覆盖主流开发语言,Python、GoLang、Rust 作为重要部分,发布多个核心组件,可以打通 K8S 生态的 Service / ConfigMap / Secret 数据,面向全场景可以作为统一管理平台

image

2 Nacos 3.x 安装部署 (standalone版 + Docker 镜像方式)

Step1 拉取镜像

//拉取镜像
docker pull nacos/nacos-server:v3.0.3//查看镜像
docker images

拉取时最好指定版本,可在github查看所需版本: https://github.com/nacos-group/nacos-docker

Step2 启动镜像

  • 以 standalone 版为例:
docker run -d --name nacos \
-p 8080:8080 \
-p 8848:8848 \
-p 9848:9848 \
-e MODE=standalone \
-e NACOS_AUTH_TOKEN=dG9rZW50b2tlbnRva2VudG9rZW50b2tlbnRva2VudG9rZW4= \
-e NACOS_AUTH_IDENTITY_KEY=MyAuthorization123456 \
-e NACOS_AUTH_IDENTITY_VALUE=MyToken123456 \
nacos/nacos-server:v3.0.3
  • 相比 nacos 2.x ,nacos 3.x 多了【强制】要求配置的3个【环境变量】:
  • NACOS_AUTH_TOKEN : Nacos 用于生成JWT Token的密钥,使用长度大于32字符的字符串,再经过Base64编码。

未配置时,docker logs nacos会显示错误日志: echo 'env NACOS_AUTH_TOKEN must be set with Base64 String.',如下2个变量的错误日志类比。
基于shell命令获取base64编码的文本的参考命令: echo -n "your_token" | base64

  • NACOS_AUTH_IDENTITY_KEY : Nacos Server端之间 Inner API的身份标识的Key,必填。
  • NACOS_AUTH_IDENTITY_VALUE : Nacos Server端之间 Inner API的身份标识的Value,必填。
  • 如果使用非 Docker 部署,可直接修改 application.properties 文件:
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=Authorization
nacos.core.auth.server.identity.value=my_token_value
nacos.core.auth.plugin.nacos.token.secret.key=your_secret_key

重启 Nacos 服务后生效。

如需将配置文件持久化到 mysql,可参考:

[nacos] Nacos <2> 基于 Docker 安装Nacos 2.x - 博客园/千千寰宇

Step3 访问验证

  • 验证Nacos服务是否启动成功
  • 方法1:通过docker logs -f $container_id命令,查看Nacos服务启动日志,如果看到如下日志,说明服务启动成功。
Nacos started successfully in xxxx mode. use xxxx storage

image

  • 方法2:
curl -X POST "http://<nacos_host>:8848/nacos/v1/auth/login" -d "username=nacos&password=nacosPassword"

如: curl -X POST "http://127.0.0.1:8848/nacos/v1/auth/login" -d "username=nacos&password=nacosPassword"

  • 访问: http://127.0.01:8848/nacos/index.html [x]

页面会显示: Nacos Console default port is 8080, and the path is /.

  • http://127.0.0.1:8080/#/ [√]

image

相比 nacos 2.x ,nacos 3.x 最大的新增特性即:【MCP管理】

image

Y 推荐文献

  • [nacos] Nacos <2> 基于 Docker 安装Nacos 2.x - 博客园/千千寰宇

  • Nacos

  • https://github.com/nacos-group/nacos-docker
  • https://github.com/nacos-group/nacos-mcp-router
  • Nacos 3.0 正式发布:MCP Registry、安全零信任、链接更多生态 - Nacos
  • Nacos Docker 快速开始 - Nacos

https://nacos.io/docs/v3.0/quickstart/quick-start-docker

X 参考文献

  • 【Nacos】env NACOS_AUTH_TOKEN must be set with Base64 String. - CSDN

env NACOS_AUTH_TOKEN must be set with Base64 String.

  • 【Nacos】env NACOS_AUTH_IDENTITY_KEY must be set. - CSDN

env NACOS_AUTH_IDENTITY_KEY must be set.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/908163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客周赛 Round 108 CDEF题解

C、小苯的数字合并 题意: 小苯有一个长度为 $ n $ 的数组 $ a_1, a_2, \ldots, a_n $,他可以对 $ a $ 进行任意次“数字合并”操作,具体地,一次数字合并操作描述为:选择一个下标 $ i $ ($ 1 \leq i < |a| $),…

[LeetCode] 3484. Design Spreadsheet

A spreadsheet is a grid with 26 columns (labeled from A to Z) and a given number of rows. Each cell in the spreadsheet can hold an integer value between 0 and 105. Implement the Spreadsheet class: Spre…

Redis的使用问题

1:穿透,访问缓存中没有,数据库中也没有的数据,直接忽略缓存层,直达数据库 解决方案:方案一,查一个不存在的数据时,给一个设置一定过期间的key的数据,存入缓存,方案二:布隆过滤器,在将数据存入Redis时,会同…

AIGC拾遗:Flash Attention

前言 对于attention操作,其计算复杂度随着序列长度的增加呈平方倍的增长。因此,出现了诸多尝试将计算复杂度降低为\(O(n)\)的注意力机制。然而,这些方法忽略了计算时的IO复杂度的影响,频繁的内存交换也在长序列计算…

深度好文-风雨飘摇信竞路

风雨飘摇信竞路 写作时间:2025.9.19夜 1. 引子 夜深了,我捣鼓好了博客园,长舒了一口气。 明天就是 CSP-S 的初赛了,上周老师说可能这次我们没有初赛直升的名额了,把我们搞得都很慌,做了不少卷子。明天早上我还要…

Python-CSV库

CSV (Comma Separated Values) 是电子表格和数据库中最常见的数据交换格式。Python 的 csv 模块提供了读写 CSV 文件的功能,支持多种 CSV 变体和自定义格式。Python CSV 库 1. 库概述 1.1 简介 CSV (Comma Separated …

C++小白修仙记_LeetCode刷题_位运算

位运算 (难度:easy) 231. 2 的幂 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。 示例: 输入:n = 1 …

C++小白修仙记_LeetCode刷题_双指针

双指针(easy) 345. 反转字符串中的元音字母 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。 元音字母包括 a、e、i、o、u,且可能以大小写两种形式出现不止一次。 示例: 输入:s = "Ic…

前路漫漫亦灿灿 往事堪堪亦澜澜

想了好久不知道从何下笔。 谨以本文慰藉我一段难忘的大学生生活,一个难忘的学期。 仍然忘不了军训时了解到ACM实验室,一切的一切从某位舍友,未来的集训队友、假期的守舍人、一个讨厌的人开始。从他那里的得知道了编…

设计模式(C++)详解—单例模式(2) - 指南

设计模式(C++)详解—单例模式(2) - 指南2025-09-19 22:51 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

使用uv和pycharm搭建python开发环境

uv是一个Rust编写的极速Python包和项目管理工具。官网: https://docs.astral.sh/uv/ , 中文的详细使用文档: https://uv.doczh.com/ 可以用来安装和管理个多版本python,创建管理不同的虚拟环境,所谓虚拟环境是将包…

lc1032-字符流

难度:困难题目描述设计一个算法:接收一个字符流,并检查每个新字符加进来形成的新串,其后缀是否是字符串数组 words 中的一个字符串示例 输入: ["StreamChecker", "query", "query"…

lc1032-字符流

难度:困难题目描述设计一个算法:接收一个字符流,并检查每个新字符加进来形成的新串,其后缀是否是字符串数组 words 中的一个字符串示例 输入: ["StreamChecker", "query", "query"…

八股整理xdsm - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

C++小白修仙记_LeetCode刷题_哈希表

哈希表(难度:easy) 217. 存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例: 输入:nums = [1,2,3,1] 输出:true 解释: 元…

【F#学习】字符串String

字符串 F#的字符串和其他现代化的语言的字符串差异不大。 let fruit = "Apple"字符串可以通过调用其本身的函数来修改,也可以通过String模块下的函数来修改——但字符串是常量,一旦被创建就不可能发生改变…

US$98 Yanhua Mini ACDP Module4 BMW 35080, 35160DO WT EEPROM Read Write

Yanhua Mini ACDP Module 4 BMW 35080, 35160DO WT EEPROM Read & WriteNo need soldering.Function:Read and write BMW M35080, 35160DO WT etc EEPROM Yanhua Mini ACDP Module 4 Package includes:Item No. Ad…

US$98 Yanhua Mini ACDP Module4 BMW 35080, 35160DO WT EEPROM Read Write

Yanhua Mini ACDP Module 4 BMW 35080, 35160DO WT EEPROM Read & WriteNo need soldering.Function:Read and write BMW M35080, 35160DO WT etc EEPROM Yanhua Mini ACDP Module 4 Package includes:Item No. Ad…

深入解析:K8s学习笔记(二) Pod入门与实战

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

现代汽车前瞻杯2025牛客暑期多校训练营3

F Flower 题意简化: 有一朵初始有n片花瓣的花,Yuki会按轮次摘花瓣:每轮操作中,她先摘a片花瓣,之后再摘b片花瓣;若剩余花瓣不足,就把剩下的全部摘完。这个过程会持续到所有花瓣被摘完为止。 Yuki的规则是:当且仅…