年内最大更新,Nacos 2.3 蓄势待发

JAVA架构日记

共 3853字,需浏览 8分钟

 · 2023-10-26

这个版本是一个重要的版本,包含了一些重大的改变,因此首先发布这个预发行测试版

以下是一些重大改进:

  • 新增支持配置变更钩子插件和控制插件功能,可以根据用户的需要扩展预检配置重新格式化、改变审计、容量限制、防脆性和通知改变等方面。
  • 重构了数据源插件和模块加载器。其中之一是使插件更容易支持更多的数据源,另一个是让一些用户只能打开一个功能以节省更多内存。
  • 新增支持服务器和客户端之间的能力协商功能,可以使 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

浏览 3186
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报