Nacos 2.0 正式发布,性能提升 10 倍!!
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技术栈,可以获取后续更多技术干货、最新技术动态推送。
参考:
https://github.com/alibaba/nacos/releases
https://my.oschina.net/u/3585447/blog/4818143
版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。
Nacos 2.0 正式发布,性能提升 10 倍!!的更多相关文章
- Web 应用性能提升 10 倍的 10 个建议
转载自http://blog.jobbole.com/94962/ 提升 Web 应用的性能变得越来越重要.线上经济活动的份额持续增长,当前发达世界中 5 % 的经济发生在互联网上(查看下面资源的统计 ...
- Elasticsearch Reindex性能提升10倍+实战
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484134&idx=1&sn=750249a ...
- 八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用
摘要: 早在2010年开始,阿里巴巴集团开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储,HBase在几代阿里专家的不懈努力下,已经表现得运行更稳定.性能更高效 ...
- 如何把 MySQL 备份验证性能提升 10 倍
JuiceFS 非常适合用来做 MySQL 物理备份,具体使用参考我们的官方文档.最近有个客户在测试时反馈,备份验证的数据准备(xtrabackup --prepare)过程非常慢.我们借助 Juic ...
- 一次 Spark SQL 性能提升10倍的经历(转载)
1. 遇到了啥问题 是酱紫的,简单来说:并发执行 spark job 的时候,并发的提速很不明显. 嗯,且听我慢慢道来,啰嗦点说,类似于我们内部有一个系统给分析师用,他们写一些 sql,在我们的 sp ...
- 存算分离下写性能提升10倍以上,EMR Spark引擎是如何做到的?
引言 随着大数据技术架构的演进,存储与计算分离的架构能更好的满足用户对降低数据存储成本,按需调度计算资源的诉求,正在成为越来越多人的选择.相较 HDFS,数据存储在对象存储上可以节约存储成本,但与此 ...
- 如何把Go调用C的性能提升10倍?
目前,当Go需要和C/C++代码集成的时候,大家最先想到的肯定是CGO.毕竟是官方的解决方案,而且简单. 但是CGO是非常慢的.因为CGO其实一个桥接器,通过自动生成代码,CGO在保留了C/C++运行 ...
- Databricks缓存提升Spark性能--为什么NVMe固态硬盘能够提升10倍缓存性能(原创)
我们兴奋的宣布Databricks缓存的通用可用性,作为统一分析平台一部分的 Databricks 运行时特性,它可以将Spark工作负载的扫描速度提升10倍,并且这种改变无需任何代码修改. 1.在本 ...
- 重构、插件化、性能提升 20 倍,Apache DolphinScheduler 2.0 alpha 发布亮点太多!
点击上方 蓝字关注我们 社区的小伙伴们,好消息!经过 100 多位社区贡献者近 10 个月的共同努力,我们很高兴地宣布 Apache DolphinScheduler 2.0 alpha 发布.这是 ...
随机推荐
- Nmap & ncat
Nmap & ncat https://github.com/udacity/course-ud303 https://nmap.org/dist/nmap-7.30-setup.exe Yo ...
- webpack defineConstants
webpack defineConstants PAGES 全局常量/全局变量 https://webpack.js.org/plugins/define-plugin/ taro https://n ...
- ⑧SpringCloud 实战:引入 Actuator监控+整合监控页面
Actuator是什么? Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用.这个模块是 ...
- scala:函数作为值或参数进行传递、作为返回值进行返回
@ 目录 函数可以作为值进行传递 函数可以作为参数进行传递 函数可以作为返回值进行返回 什么是匿名函数 函数可以作为值进行传递 语法var f = 函数名 _ 如果明确了变量的数据类型,那么下划线可以 ...
- jenkins+docker+nginx+tomcat实现vue项目部署
一.项目准备 1.新建一个vue的项目,确保能在浏览器正常访问.然后在项目的根目录下新建一个Dockerfile的文件,内容如下 FROM nginx COPY dist /usr/share/ngi ...
- JAVA 判断一个字符串是否是合法的日期格式?
采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常.另外,还需要判断字符串的长度,若不判断,第二个字符串就会验证通过,实际上也不是合法的.话不多说,且看代码: ...
- Tomcat 安装Manager
sudo apt-get install tomcat8-admin tomcat8-docs tomcat8-examplessudo vi /etc/tomcat8/tomcat-users.xm ...
- XSS跨站脚本攻击(1)
将跨站脚本攻击缩写为XSS,恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面的时候,嵌入其中的Web里面的Script代码就会被执行,从而达到恶意攻击用户的目的. 反射型XSS 反射 ...
- python自动化测试生成HTML报告
自动化测试结果执行完毕后,需要对测试结果进行查看,今天就来讲一讲如何生成HTML报告首先下载HTMLTestRunner.py文件,放在python安装目录的Lib文件夹下https://pan.ba ...
- Java8的新特性--函数式接口
目录 函数式接口 什么是函数式接口 函数式接口的使用 Java8内置的四大核心函数式接口 一.Consumer:消费型接口(void accept(T t)) 二.Supplier:供给型接口(T g ...