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 集成文档:

https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html

更多 Spring Cloud 教程,大家可以关注公众号Java技术栈,在后台回复:spring,可以阅读栈长整理的一系列 Spring C loud 系列教程。

如果你现在使用的 Nacos 1.x,官方也提供了升级教程:

https://nacos.io/zh-cn/docs/2.0.0-upgrading.html

不过目前只支持 Nacos 1.x 到 Nacos 2.0.0-BETA 版本的平滑升级,暂不支持 Nacos 1.x 版本到 Nacos 2.0.0-ALPHA 正式版的平滑升级,后续会支持部分版本到该版本的平滑升级,大家可以关注后续的升级文档。

你们用的啥注册中心呢?来,一起来投票看看大家都用的啥~

最后,觉得我的文章对你用收获的话,动动小手,给个在看、转发,原创不易,栈长需要你的鼓励。

关注公众号Java技术栈,可以获取后续更多技术干货、最新技术动态推送。

参考:

https://nacos.io/zh-cn

https://github.com/alibaba/nacos/releases

https://my.oschina.net/u/3585447/blog/4818143

版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。

Nacos 2.0 正式发布,性能提升 10 倍!!的更多相关文章

  1. Web 应用性能提升 10 倍的 10 个建议

    转载自http://blog.jobbole.com/94962/ 提升 Web 应用的性能变得越来越重要.线上经济活动的份额持续增长,当前发达世界中 5 % 的经济发生在互联网上(查看下面资源的统计 ...

  2. Elasticsearch Reindex性能提升10倍+实战

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484134&idx=1&sn=750249a ...

  3. 八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用

    摘要: 早在2010年开始,阿里巴巴集团开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储,HBase在几代阿里专家的不懈努力下,已经表现得运行更稳定.性能更高效 ...

  4. 如何把 MySQL 备份验证性能提升 10 倍

    JuiceFS 非常适合用来做 MySQL 物理备份,具体使用参考我们的官方文档.最近有个客户在测试时反馈,备份验证的数据准备(xtrabackup --prepare)过程非常慢.我们借助 Juic ...

  5. 一次 Spark SQL 性能提升10倍的经历(转载)

    1. 遇到了啥问题 是酱紫的,简单来说:并发执行 spark job 的时候,并发的提速很不明显. 嗯,且听我慢慢道来,啰嗦点说,类似于我们内部有一个系统给分析师用,他们写一些 sql,在我们的 sp ...

  6. 存算分离下写性能提升10倍以上,EMR Spark引擎是如何做到的?

    ​引言 随着大数据技术架构的演进,存储与计算分离的架构能更好的满足用户对降低数据存储成本,按需调度计算资源的诉求,正在成为越来越多人的选择.相较 HDFS,数据存储在对象存储上可以节约存储成本,但与此 ...

  7. 如何把Go调用C的性能提升10倍?

    目前,当Go需要和C/C++代码集成的时候,大家最先想到的肯定是CGO.毕竟是官方的解决方案,而且简单. 但是CGO是非常慢的.因为CGO其实一个桥接器,通过自动生成代码,CGO在保留了C/C++运行 ...

  8. Databricks缓存提升Spark性能--为什么NVMe固态硬盘能够提升10倍缓存性能(原创)

    我们兴奋的宣布Databricks缓存的通用可用性,作为统一分析平台一部分的 Databricks 运行时特性,它可以将Spark工作负载的扫描速度提升10倍,并且这种改变无需任何代码修改. 1.在本 ...

  9. 重构、插件化、性能提升 20 倍,Apache DolphinScheduler 2.0 alpha 发布亮点太多!

    点击上方 蓝字关注我们 社区的小伙伴们,好消息!经过 100 多位社区贡献者近 10 个月的共同努力,我们很高兴地宣布 Apache DolphinScheduler 2.0 alpha 发布.这是 ...

随机推荐

  1. SVG in Action

    SVG in Action HTML5 semantic HTML5 Semantic Elements / HTML5 Semantic Tags figure object <figure& ...

  2. TypeScript 4.x Tutorials

    TypeScript 4.x Tutorials TypeScript 4.x 最新教程 https://typescript-4x-tutorials.xgqfrms.xyz/ https://gi ...

  3. js regular expression & email checker

    js regular expression & email checker const isValidEmail = (email = ``) => /^([\w+\.])+@(\w+) ...

  4. js Memory Management

    js Memory Management 垃圾回收是一个术语,在计算机编程中用于描述查找和删除那些不再被其他对象引用的对象的处理过程. 换句话说,垃圾回收是删除任何其他对象未使用的对象的过程. 垃圾收 ...

  5. GitHub user language statistics

    GitHub user language statistics 2020 https://madnight.github.io/githut/#/pull_requests/2020/2 2011 ~ ...

  6. img & srcset

    img & srcset 性能优化 <img class="fn tj s t u fa ai ht" width="3700" height=& ...

  7. YAML & .yml

    YAML & .yml YAML: YAML Ain't Markup Language https://yaml.org/ https://github.com/yaml/www.yaml. ...

  8. javascript & global event & custom event

    javascript & global event & custom event new CustomEvent object let event = new CustomEvent( ...

  9. SVG 2 & SVG & getPointAtLength & getPathSegAtLength

    SVG 2 & SVG & getPointAtLength & getPathSegAtLength getPointAtLength SVG 1.x https://dev ...

  10. SPC空投糖果,是白捡还是风险?

    2020年,币圈刮起了空投风,很多项目纷纷"撒钱"在空投中,在空投中获利多者白捡上百万美刀,少的也薅了万把块羊毛,币圈的空投无时不刻透露着天上掉馅饼的气息.NGK官方在2020年年 ...