距离 Nacos 发布 3.0 版本已经过去几个月了,中间一直在忙其他事情,所以也没来及升级体验。

刚好最近要做新项目,所以准备使用最新版升级一波,这不升级还不知道,一升吓一跳,这变化也太大了吧?

1.升级概览

Nacos 3.0 最大的升级是新增了“AI 中心”,将会支持以下功能:

  1. 存量 API 可以快速构建 MCP Server: Nacos 配置存量 API 描述可以 0 代码的构建成 MCP Server,快速跟进 MCP 协议。
  2. 动态提示词 Prompt(尚未发布)。
  3. 支持 A2A 协议等(尚未发布)。

2.安全升级

Nacos 2.0 中面临的一个主要的风险就是 Nacos 所有的 HTTP OpenAPI 均通过统一的端口进行暴露,同时使用了统一的鉴权开关,这使得使用者必须在便捷性和安全性中作出取舍,导致在许多部署的环境中可能存在安全风险。

Nacos 3.0 为了解决这个问题,从 Nacos 的部署架构上作出演进,独立控制台部署,拆分鉴权开关,分类 API 并默认开启控制台及管控类 API 的鉴权:

同时配合配置加密插件,TLS 传输,来实现 Nacos 3.0 的零信任安全架构:

3.不再支持JDK8

Nacos 3.0 不再支持 JDK8 环境 ,它将其依赖的 JDK 版本升级至 17,并将 Spring Boot 版本升级至 3.4.1。

4.升级遇到的问题

4.1 无法启动

因为 Nacos 3.0 升级了安全策略,取消了 nacos.core.auth.server.identity.key、nacos.core.auth.server.identity.value 和 nacos.core.auth.plugin.nacos.token.secret.key 的默认值,所以当我们使用 Nacos 3.0 启动时会报错

解决方案:进入 config/application.properties 配置 nacos.core.auth.server.identity.key、nacos.core.auth.server.identity.value 和 nacos.core.auth.plugin.nacos.token.secret.key 的默认值,其中 nacos.core.auth.plugin.nacos.token.secret.key 值需要 32 位 Base64 编码值,如果设置不符合规则启动也会报错

nacos.core.auth.plugin.nacos.token.secret.key 为 Nacos 中生成 JWT 的秘钥,之前使用默认值,会导致伪造 JWT Token 的问题,所以去掉了默认值。

4.2 访问不了控制台

当我们费了九牛二虎之力启动了 Nacos 之后,发现使用 localhost:8848 不能访问控制台了。

原来是控制台和 Nacos 核心服务分开了,控制台变成了独立的端口号 8080,所以使用新的地址 localhost:8080 才能访问。

这。。。

为了让原来的服务不报错,所以之前的 8848 确实要给 Nacos 核心服务用,所以控制台就得配置新的端口号了,但你设置默认 8080,是怕我调试本地程序太累吗?(默认本地程序的端口是 8080)

小结

版本升级有风险,升级需谨慎。你究竟是要更多的功能、更快的性能,还是要稳定性?这需要根据当前业务场景来评估。我是磊哥,咱们明天再见。

本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:场景题、SpringAI、SpringAIAlibaba、并发编程、MySQL、Redis、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、JVM、设计模式、消息队列、Dify、Coze、AI常见面试题等。

崩了!Nacos升级到3.0竟不能用了,哭死!的更多相关文章

  1. NACOS升级操作

    Server端 0.8.0及以上版本: 解压安装包后替换{nacos.home}/target/nacos-server.jar 删除{nacos.home}/plugins/cmdb/及{nacos ...

  2. Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

    昨晚Nacos社区发布了第一个生产级版本:0.8.0.由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础 ...

  3. ADT for Eclipse无法升级到23.0的解决方法(确保您的网络能够访问google的地址)

    进行以下步骤时,请确保您的网络能够访问google的地址,因为有可能是无法访问google地址导致无法升级,该文不是为了解决这个问题!!! 最近一次的升级,ADT无法从ADT 22.X升级到23.0. ...

  4. Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)

    Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8 ...

  5. 系统补丁更新导致MVC3.0.0升级到3.0.1的问题解决

    在更新了系统补丁之后,会不知觉的将MVC3.0.0升级到MVC3.0.1的问题,解决的思路如下: 1.全部MVC引用使用NuGet进行包的管理. 2.单独把MVC库抽离出来,然后放在单独的项目文件夹, ...

  6. CMS .NET 程序框架 从2.0/3.5升级到4.0 版本后 需要调整的地方

    问题一: document.forms1.action 不可使用 需要修改程 document.forms[0] .NET 程序框架 从2.0/3.5升级到4.0 版本后,document.forms ...

  7. foxmail 6.5升级到7.0版本后,旧邮件的导入处理

    随着foxmail 7.0版的火热升级,部分从foxmial 6.5版升级到7.0版的用户可能会出现旧邮件丢失的困扰.这里,foxmail为大家提供的解决方案如下:   打开Foxmail,点击 文件 ...

  8. xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)

    xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...

  9. 升级到tomcat7.0碰到的问题

    今天把tomcat从6.0.18升级到7.0.25,发现了两个问题 问题1 java.lang.ClassNotFoundException: org.apache.catalina.mbeans.S ...

  10. CentOS6.5升级为CentOS7.0

    CentOS6.5升级为CentOS7.0 CentOS6.5升级为CentOS7 升级前: [root@localhost ~]# cat /proc/version  Linux version ...

随机推荐

  1. C++的发展与抽象

    在此之前先说一些概念: 计算机最重要的两个元件:CPU(控制器.运算器).存储设备(寄存器.缓存.内存.硬盘). 算法需要实现,所以有了CPU,CPU需要运行算法,所以有了指令集.程序段,高级语言编写 ...

  2. 2023年成都.NET线下技术沙龙即将到来!

    MASA技术团队联合成都.NET俱乐部,将在成都市举办一场.NET线下技术沙龙,为.NET开发者创造一次交流学习的契机,我们邀请到的几位技术大咖,将会围绕各自的主题向大家分享他们的技术心得. 本场沙龙 ...

  3. pdf工具类之根据页码复制(分割)pdf

    实现思路:将原pdf中第m页和第n页的内容复制到目标pdf中 代码如下: 1 /** 2 * 复制(分割)pdf 3 * 4 * @param sourceFilePath 源文件地址 5 * @pa ...

  4. react发布一个组件库 系列篇(一)

    前言 经常使用别人写好的组件库,然后安装引入使用即可.比如: npm install beautiful-table import BeautifulTable from 'beautiful-tab ...

  5. ZanProxy使用方式

    参考官方文档https://youzan.github.io/zan-proxy/book/ 前提安装node安装openssl 安装 npm i -g zan-proxy 启动 zan-proxy ...

  6. 使用rclone将linux服务器上的文件夹同步到nextcloud

    最近公司在用nextcloud管理文件,我写了一个python脚本,领导想看中间生成的图片,让我把图片同步到nextcloud上.上网搜了一些方法,最终用rclone实现,以下是实现过程. 服务器版本 ...

  7. SciTech-Statistics-英语授课:Business Statistics商务统计

    What Is a Population Parameter? By Alane Lim, Alane Lim, Science Expert Ph.D., Materials Science and ...

  8. 洛谷题解 | P3383 【模板】线性筛素数

    题目思路 先思考最朴素的素数筛法.即对于每个数 \(n\),检查它是否能被任意小于 \(\sqrt{n}\) 的整数整除.如果不能,则 \(n\) 是素数.这种筛法显然是低效的. 逆向思考,上述素数筛 ...

  9. JAVA基础-8-逻辑运算符,位运算符--九五小庞

    public class Demo4 { public static void main(String[] args) { //逻辑运算符的使用 boolean a=true; boolean b=f ...

  10. Win11系统电脑如何取消登录密码的问题

    很多电脑基地的用户升级win11系统,但是电脑设置了密码之后,每次开机需要输入密码才能进入桌面.其实,我们设置密码是为了防止陌生人开机就可以进入桌面,但是自己每次进入桌面也要输入密码就很麻烦,下面技术 ...