首页 > 其他分享 >Nacos 2.3.0 正式发布,堪称最强!

Nacos 2.3.0 正式发布,堪称最强!

时间:2023-12-07 09:11:06浏览次数:31  
标签:插件 Spring 堪称 Nacos Alibaba 2.3 Cloud

大家好,我是栈长。

Nacos 2.3.0 前几天正式发布了,新增了不少实用性的新功能,真是史上最强版本。

Nacos 2.3.0 还真是一个比较重要的大版本,因为它涉及了太多重大更新,今天栈长给大家来解读下。

Nacos 先扫个盲:

Nacos 一个用于构建云原生应用的动态服务发现、配置管理和服务管理平台,由阿里巴巴开源,致力于发现、配置和管理微服务。

说白了,Nacos 就是充当微服务中的的注册中心和配置中心。

推荐一个开源免费的 Spring Boot 实战项目:

https://github.com/javastacks/spring-boot-best-practice

Nacos 2.3.0 新特性

1. 反脆弱插件

Nacos 2.2.0 版本开始加入反脆弱插件,从 2.3.0 版本开始正式转正可用。

Nacos Control Plugin ,即反脆弱插件,即防止服务端变得脆弱,它的主要用途是保护 Nacos 服务端避免出现大规模故障,就算在高压情况下也能快速拒绝请求,防止过多的资源访问导致服务端资源耗尽引起的大面积不可用。

反脆弱插件的具体实现策略就是,当访问服务端的某种资源的频率或次数达到一定程度时,则限制其访问。

Nacos 支持通过 SPI 的方式注入反脆弱相关插件,并支持在 application.properties 配置文件中配置一个反脆弱插件的实现,SPI 机制的灵活性可以大大增加了反脆弱插件的扩展灵活性,这个机制也贯穿了阿里系开源框架。

2. 服务端及客户端间的能力协商机制

我们都知道,Nacos 分为服务端和客户端,随着 Nacos 版本越来越高,功能越来越多,不同版本间对新增功能支持程度也会很大的差异。

当版本和功能越来越多的时候,如果版本不一致,两者的通信可能存储一定的兼容性问题。比如,服务端有这个功能,而客户端的版本不支持,这样就会产生兼容性问题,也会带来多余和通信开销。

在 Nacos 2.3.0 之前的版本中,Nacos 中的很多能力都是根据版本号来判断的,可读性、可维护性和可扩展性都很差。所以,Nacos 2.3.0 新增了一个客户端和服务端之间的能力协商机制。

这个能力协商机制,可以让连接的双方都知道对方能支持的所有功能,以便双方都开启对应的功能并进行相应的操作,避免盲目的试错带来的系统性问题及额外开销。

3. 配置变更插件

Config Change Plugin,即配置变更插件,可用于 Nacos 配置中心能在配置发生变更时,通知一些特定系统,比如,可用于发送配置变更记录、变更提醒及警告、审计等功能等。

在 Nacos 2.3.0 之前的版本中,Nacos 只能通过模拟客户端订阅配置的方式实现,这种方式存在许多的局限性。所以,Nacos 2.3.0 正式推出了 Nacos 配置变更插件。

该插件也支持通过 SPI 的方式注入配置,也支持用户自定义配置变更插件,可以对配置变更前,和变更完成后分别执行一些自定义逻辑,如格式校验,白名单校验,webhook 通知等,相比之前的方式要更强大、更灵活。

4. 更多新特性

Nacos 2.3.0 还新增了以下几个重要特性:

  • 支持通过 gRPC 注册或注销持久化实例。
  • 支持 gRPC 使用 SSL 连接。
  • 支持 Nacos 客户端请求服务器异常指标。
  • 支持当客户端请求实例 ID 为空时自动创建 ID。
  • 支持在控制台中获取更多模块状态和开关。
  • 支持验证大多数的请求参数。
  • 支持在控制台 UI 中配置 toml 格式。
  • 支持批量注销服务实例。
  • 支持禁用控制台 UI 并添加引导信息。

我就不一一介绍了,感兴趣的都可以关注一下这些特性。

Spring Cloud Alibaba & Nacos

现在 Spring Cloud Alibaba 微服务技术非常火啊,但早期的许多 Spring Cloud Netflix 相关组件,比如 Eureka 2.x、Ribbon、Zuul、Hystrix…等这些,它们都早已停止维护更新了,属于老破旧技术了,我劝大家别再浪费时间学这些了。

鉴于 Spring Cloud 各种组件的停止维护,学习 Spring Cloud Alibaba 是目前最正确的姿势:

  • Spring Cloud Alibaba 基于 Spring Cloud 构建,提供了对 Alibaba 组件的封装而已,比如:Nacos、Sentinel 等,其最顶层的抽象还是 Spring Cloud,所以学习 Spring Cloud Alibaba 就是学习 Spring Cloud。
  • Spring Cloud Alibaba 作为 Spring Cloud 的官方顶级项目,也是国内最强微服务框架及事实上的标准,没有之一。

Spring Cloud Alibaba 最新技术栈如下:

组件 Spring Cloud Netflix Spring Cloud Alibaba
注册中心 Eureka 1.x
Eureka 2.x(停止维护)
Nacos
配置中心 Archaius(停止维护) Nacos
服务容错 Hystrix(停止维护) Sentinel
消息队列 - RocketMQ
分布式事务 - Seata

可以看到,Nacos 是 Spring Cloud Alibaba 微服务体系中最重要的成员之一,Nacos 同时扮演了注册中心和配置中心的双重角色,并且用过 Nacos 的都知道它功能和性能都非常强悍。

如今,Nacos 变得越来越强了,作为 Spring Cloud Alibaba 的主要成员之一,不管是工作需要,或者是跳槽面试,Nacos 都是必学的,它已成为了 Java 程序员必备的技术之一,所以,大家有时间还是要多更新一些技能储备。

最后,如果你想系统学习 Spring Cloud Alibaba 微服务,建议报名栈长最新出品的《Spring Cloud Alibaba 微服务课程》,一次付费,后续都提供免费更新,永久学习。

好了,今天的分享就到这里了,后续栈长也会继续关注并分享更多的 Java 技术干货,关注公众号Java技术栈第一时间推送。

参考资料:

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

标签:插件,Spring,堪称,Nacos,Alibaba,2.3,Cloud
From: https://www.cnblogs.com/javastack/p/17880951.html

相关文章

  • Nacos
    属性名称描述选项MODE系统启动方式:集群/单机cluster/standalone默认clusterNACOS_SERVERS集群地址p1:port1空格ip2:port2空格ip3:port3PREFER_HOST_MODE支持IP还是域名模式hostname/ip默认ipNACOS_SERVER_PORTNacos运行端口默认8848NACOS_S......
  • 一周总结(11.27—12.3)
    学习学了一下doob停时定理,q-analog(顺便阅读了一个相关的结论的论文)和欧拉数,q-analog还没写题,欧拉数只写了板。补全了一下斯特林数的知识。希望学习一下其他板块的东西,但是没有成功。发现Hanghang在学数学分析,大为震撼,计划略看,但是没有开始。考试本周仅一场,仅拿到了普......
  • 微信小程序开发周记(11.27-12.3)
    第二周周报(部分)云开发相关云开发是管理微信小程序的后端数据库、运营数据等逻辑核心的平台。前置前置知识资源环境用户开通云开发后即创建了一个独立的环境,包括数据库、存储空间、云函数等一整套云开发资源。实际开发中,建议每个正式环境都搭配一个测试环境,所有功能都在测试......
  • 12.3日记
    imread()读取图像cv.imread(filename[,flags])ImreadModes.Color:始终将图像转换为3通道BGR彩色图像,默认方式ImreadModes.Grayscale:始终将图像转换为单通道灰度图像ImreadModes.Unchanged:按原样返回加载的图像(使用Alpha通道)ImreadModes.AnyDepth:在输入具有相应深度时返回16位/3......
  • 12.3
    前几天考试了,没时间写。放假了,玩得很开心,又没睡。然后翘了大会,没什么魔怔事,但是没退役的学长们都来亨氏了......
  • 2023.12.3——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.jfinal明日计划:学习......
  • nacos 命名空间设置为 001 引起的问题
    nacos版本:NACOS2.2.3nacos命名空间问题如果设置为 001 ,bootstrap.yml中的namespace也设置为001结果启动报错:[main]WARNc.b.d.d.DynamicRoutingDataSource-[afterPropertiesSet,236]-dynamic-datasourceinitialloaded[0]datasource,Pleaseaddyourprimaryd......
  • 如何拆解Unity 2022.3版本的AssetBundle
    1)如何拆解Unity2022.3版本的AssetBundle2)Unity2022LTS版本的稳定性3)关于AssetBundle禁用TypeTree之后的一些可序列化的问题这是第363篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.......
  • Spring Cloud 配置 Nacos
    一,下载Nacos 下载地址:https://github.com/alibaba/nacos/releases 二,启动Nacos安装Nacos的bin目录下,执行:startup.cmd-mstandalone 然后打开上图红框的地址 三,配置服务1配置Nacos创建命名空间(无论本地还是测试服务期,全部注册到Nacos上,通过命名空间可以区分......
  • Nacos 认证绕过漏洞
    Nacos认证绕过漏洞(CVE-2021-29441)Nacos是阿里巴巴推出的一个新开源项目,是一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。该......