该版本核心解决 Nacos 2.0 广泛使用暴露出的一些稳定性问题(包括默认实现鉴权插件、Grpc 请求和 distro 一致性协议的性能等),另外 Beta 测试 “批量注册服务” 和 “服务追踪事件” 两个新功能。
批量注册服务的需求主要来自于 Nacos 社区的另一个组件 -- Nacos-Sync,Nacos-Sync 作为一个支持多注册中心迁移的第三方工具,一直帮助社区用户平滑的从 Eureka,Consul 等其他注册中心迁移到 Nacos 中。
在 Nacos 2.0 发布后,Nacos-Sync 第一时间进行了更新。但在更新后,由于 Nacos 2.0 的注册机制发生了一定的变化,同一个客户端针对同一个服务只能注册一个实例,这导致了 Nacos-Sync 这种代理服务模式无法使用同一个客户端进行同一个服务的多个实例的代理注册,易用性大大降低。
同时社区发现,有一些特殊的应用,如网关,proxy,dubbo3 多协议支持等,也需要一些代理注册的能力,因此社区在进行数次方案讨论后,最终由社区同学 chenhao26-nineteen 完成批量注册服务的功能开发,并在 2.1.1 版本进行 beta 测试。
批量注册服务功能主要用于代理注册的场景,允许应用使用同一个客户端对同一个服务进行多个实例的注册请求。大多数传统使用场景下,用户仍然使用 registerService 功能即可。
这里推荐一个 Spring Boot 基础教程,含所有示例源码:
https://github.com/itwsj/spring-boot-best-practice
自从阿里云的 MSE Nacos 发布了关于推送轨迹相关的文章后,社区反响热烈,都希望能在开源添加对应的功能。
MSE 团队得知社区的强烈需求后,由 scienceZ 同学完成对事件抽象剥离,并贡献到开源社区。
目前该功能同样属于 beta 测试,暂时只能通过在源码中订阅对应事件的方式进行追踪,后续版本同样会将该功能作为SPI插件的形式开放,方便社区同学按照自己的需求定制推送轨迹。
注意:上述两个功能均属于 Beta 测试阶段,其 API,功能可能与后续正式发布时的有一定区别。
Nacos 2.1.1 的更多变更内容可查看: