年内最大更新,Nacos 2.3 蓄势待发
JAVA架构日记
共 3853字,需浏览 8分钟
·
2023-10-26 16:01
这个版本是一个重要的版本,包含了一些重大的改变,因此首先发布这个预发行测试版。
以下是一些重大改进:
-
新增支持配置变更钩子插件和控制插件功能,可以根据用户的需要扩展预检配置重新格式化、改变审计、容量限制、防脆性和通知改变等方面。 -
重构了数据源插件和模块加载器。其中之一是使插件更容易支持更多的数据源,另一个是让一些用户只能打开一个功能以节省更多内存。 -
新增支持服务器和客户端之间的能力协商功能,可以使 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
评论