年内最大更新,Nacos 2.3 蓄势待发
这个版本是一个重要的版本,包含了一些重大的改变,因此首先发布这个预发行测试版。
以下是一些重大改进:
-
新增支持配置变更钩子插件和控制插件功能,可以根据用户的需要扩展预检配置重新格式化、改变审计、容量限制、防脆性和通知改变等方面。
-
重构了数据源插件和模块加载器。其中之一是使插件更容易支持更多的数据源,另一个是让一些用户只能打开一个功能以节省更多内存。
-
新增支持服务器和客户端之间的能力协商功能,可以使 Nacos 与后续功能更加兼容,提高其平滑度。
其他重要更新包括验证大部分请求参数,支持 gRPC 连接的 SSL,增强了控制台 UI 的使用功能,并修复了一些错误。
详细信息请参见:
特性
-
支持 Nacos 控制插件。
-
支持服务器和客户端之间的能力协商。
-
支持配置改变钩子插件。
-
支持为 Nacos 客户端请求服务器异常度量。
-
支持 gRPC 连接的 SSL。
-
在客户端请求实例 ID 为空时自动构建实例 ID。
-
在控制台中获取更多模块状态和开关状态。
-
验证大部分请求参数。
-
在控制台 UI 中支持 TOML 格式的配置。
-
支持批量注销服务的实例。
-
支持禁用控制台 UI 并添加引导信息。
增强和重构
-
在服务详情页面添加分页大小选择器。
-
增强控制台 UI 会话过期时的提示,默认认证插件。
-
添加了 native-image 所需的可达性元数据。
-
增强数据源插件,使更多的数据源实现更容易。
-
增强配置页面,在编辑配置时支持折叠功能。
-
增强配置快照对 Windows 的兼容性。
-
改进 gRPC 请求超时时的提示。
-
在 JDK 版本低于 9 时,使用 CMS 作为默认 GC。
-
重构模块开关,使其在控制台 UI 中只加载指定的模块而不是关闭它们。
-
在创建新命名空间时验证命名空间显示名称。
-
通过在构造后校验数据源,增强了 No DataSourceSet 错误的提示。
-
在操作配置失败时增强了日志。
-
在控制台 UI 中链接到 v2 文档。
-
增强控制台 UI 中彩色服务健康状态的兼容性。
-
支持设置最大重试次数。
-
向后兼容默认认证插件的旧版本 secretKey。
-
从节点列表页面中删除命名空间信息。
-
优化 PropertiesUtil 中的 handleSpringBinder 方法。
Bug 修复
-
修复了客户端在分发同步时丢失修订版本的问题。
-
修复了 raft 状态机中错误的判断。
-
修复了服务器超限时发送连接重置请求时的死锁问题。
-
修复了 nacos-client 故障转移开关文件路径问题。
-
修复了导入配置的问题。
-
修复了只有 admin 角色用户可以将服务注册到默认命名空间的问题(启用默认认证插件时)。
-
修复了断开连接后 jraft 安装 leader 快照错误的问题。
-
修复了处理服务器请求时 nacos 客户端无响应的问题。
-
修复了在极端情况下客户端和服务的索引丢失问题。
-
修复了控制台 UI 中一些遗漏的国际化问题。
-
修复了外部数据连接不断开的问题。
-
修复了重启后域名切换可能无法加载快照的问题。
-
修复了在极端场景中客户端和服务的索引丢失问题。
-
修复了一些新 API 缺少认证检查的问题。
-
修复了 selectInstances 和 selectOneHealthyInstance 方法不会订阅服务的问题。
-
修复了创建文件夹时无效的 create file: dir。
-
修复了 nacos-client 在使用地址时不随机获取服务器地址的问题。
-
修复了 nacos 客户端频繁创建和关闭客户端导致的内存泄漏问题。
-
修复了使用 Derby 数据源进行集群模式时的 NPE 问题。
-
修复了当 ignoreCase 为 true 时 startsWith 判断错误的问题。
-
修复了批量注册计数大小错误的问题,在批量注册多次时。
-
修复了 RPC_CLIENT_TLS_PROTOCOLS 设置错误的问题。
-
修复了 batchRegisterInstance 没有重新计算修订版本的问题。
-
修复了命中保护空情况下频繁查询服务的问题。
依赖项更新
-
移除 httpasyncclient 版本依赖管理,以避免版本冲突。
-
升级控制台 YAML 编辑器。
-
优化 Guava 依赖。
-
将 Spring Boot 升级到 2.7.15。
-
将 gRPC 版本升级到 1.57.2。
PIG 基于 Spring Boot 3.1、Spring Cloud 2022 和 Alibaba、Spring Authorization Server 的微服务快速开发平台已适配 SpringBoot 3.1.5 版本,并支持在 Java21 环境运行(注意选择 jdk17-dev 分支)。您可以下载源码进行参考。
部署文档:https://wiki.pig4cloud.com
评论
