nacos2 架构模型
Nacos 2.X 在 1.X 的架构基础上 新增了对长连接模型的支持,如上图所示通信层目前通过 grpc 实现了长连接 RPC 调用和推送能力,使用长链接的好处大幅度减少了 1.x 轮询心跳频繁导致 JVM Full GC。
性能提升
Nacos2 服务发现性能测试都是针对重点功能,通过对 3 节点规模集群进行压测,可以看到接口性能负载和容量,以及对比相同/类似场景下 Nacos1.X 版本的提升。
- 压测时服务及实例容量达到百万级,集群运行持续稳定,达到预期;(该场景没有计算频繁变更导致的频繁推送内容,仅单纯计算容量上线,附带推送的真实场景将在下轮压测报告中给出)
- 注册/注销实例 TPS 达到 26000 以上,总体较 Nacos1.X 提升至少 2 倍,接口达到预期;
- 查询实例 TPS 能够达到 30000 以上,总体较 Nacos1.X 提升 3 倍左右,接口达到预期;
兼容性
配置中心
- 完全兼容 1.X 客户端所有 API 接口方法
- 完全实现 2.X 客户端所有 API 接口方法
- 完全兼容所有配置中心相关 openAPI
服务发现
- 由于服务发现的数据模型发生了比较重大的改变,因此以下功能暂时未支持。
查看当前集群 leader(将废弃)
批量更新实例元数据(Beta,不支持)
批量删除实例元数据(Beta,不支持)
控制台
- 完全兼容配置中心相关页面及功能
- 完全兼容权限控制相关页面及功能
- 完全兼容命名空间相关页面及功能
- 完全兼容集群管理相关页面及功能
- 完全兼容服务发现相关页面及功能
Spring Cloud Alibaba 适配
由于目前 spring cloud alibaba 2.2.5 版本内置的 nacos-client 为 1.4.1 ,可通过指定 nacos-client 方式,提前使用 Nacos2.0 长连接功能。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.5.RELEASE</version> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.5.RELEASE</version> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.0.0</version> </dependency>
下载地址
- github 下载地址[1]
- 国内下载镜像[2]
参考资料
[1]
github 下载地址: https://github.com/alibaba/nacos/releases/download/2.0.0/nacos-server-2.0.0.zip
[2]