3月20号,Nacos 2.0.0 正式发布了!
Nacos 简介:
通俗点讲,Nacos 就是一把微服务双刃剑:注册中心 + 配置中心,由阿里巴巴于 2018 年开源。
Nacos 2.0.0
架构模型
新架构:
Nacos 2.0 架构最主要的变化就是增加了对长连接的支持,gRPC 和 Rsocket 实现了长连接 RPC 调用和推送能力。
新服务模型:
相比 1.x 有不少的变化。
依赖升级
- 升级 Nacos Api / Client 模块以支持 JDK 1.8
新特性
Nacos 2.0 新增了 13 个新特性:
- 增加 gRPC 连接核心功能
- 配置模块支持 gRPC
- 命名模块支持 gRPC
- 客户端支持 gRPC
- gRPC 客户端支持重新连接
- 支持通过 gRPC 推送数据
- 支持 gRPC 连接事件通知
- 支持连接负载平衡
- 支持 gRPC 请求认证
- 命名模块支持 Jraft 元数据操作
- 支持基本连接限制
- 支持健康检查
- 支持升级和降级
最主要的特性是新增了对 gRPC 框架的支持,gRPC 是一款开源的基于 HTTP/2 标准设计的高性能 RPC 框架,最早由 Google 开源,这也是为啥是 gRPC 名字的原因了。
增强功能
Nacos 2.0 还带来了 6 个增强功能:
- 异步执行一些耗时的操作
- SDK 多语言支持
- 增加一些度量、日志支持
- 全面支持自定义实例注册
- 支持单推当首次订阅服务时
- 支持通过阈值健康保护
重构
Nacos 2.0 的 2 个重构项:
- 命名客户端重构网络代理
- 重构和适配 v1 openAPI
Bug 修复
- 修复了 14 个 Nacos 1.x 中的 bug
测试
- 添加 Nacos 2.0 单元测试
性能提升
看下官方对 Nacos 2.0 的测试数据总结:
1)Nacos 2.0 注册性能相比较 Nacos 1.x 总体提升至少 2 倍;
2)Nacos 2.0 查询性能相比较 Nacos 1.x 总体提升至少 3 倍,单机多线程甚至提升了 10 倍;
3)Nacos 2.0 注销实例性能比较 Nacos 1.x 总体提升至少 2 倍。
规划路线图
Nacos 2.x 到 3.x 整体规划是插件化提升拓展性,提升易用性,到了 3.x 还会计划支持 Service Mesh,这毕竟是未来微服务的发展趋势。
总结
Nacos 2.x 改动还是挺大的,包括底层架构、服务模型,另外,性能也更牛叉,最高性能之处 Nacos 2.0 硬是比 1.x 提升了 10 倍,可想 Nacos 2.x 还是很香的!
另外说下 Spring Cloud Eureka,Eureka 2.0 已经停止维护了:
现在主流用的都是 Eureka 1.x,看了下仓库,1.x 也几乎也没怎么更新了,这个确实有点伤,其实市面上也有其他替代品, Nacos 就是一个不错的选择,Nacos 可以同时搞定注册中心、配置中心,开源、高性能,发展势头很猛,并且提供了 Spring Cloud 依赖集成。
注册中心:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${latest.version}</version>
</dependency>
配置中心:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${latest.version}</version>
</dependency>
更多参考 Spring Cloud 集成文档:
更多 Spring Cloud 教程,大家可以关注公众号Java技术栈,在后台回复:spring,可以阅读栈长整理的一系列 Spring C loud 系列教程。
如果你现在使用的 Nacos 1.x,官方也提供了升级教程:
不过目前只支持 Nacos 1.x 到 Nacos 2.0.0-BETA 版本的平滑升级,暂不支持 Nacos 1.x 版本到 Nacos 2.0.0-ALPHA 正式版的平滑升级,后续会支持部分版本到该版本的平滑升级,大家可以关注后续的升级文档。
你们用的啥注册中心呢?来,一起来投票看看大家都用的啥~
最后,觉得我的文章对你用收获的话,动动小手,给个在看、转发,原创不易,栈长需要你的鼓励。
关注公众号Java技术栈,可以获取后续更多技术干货、最新技术动态推送。
参考: