【新鲜事】Nacos2.3.0正式发布


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

总体上,Nacos主要功能分为两大块:注册中心、配置中心。

11月30日,Nacos发布了2.3.0正式版,接下来就介绍下本次又带来了哪些新的特性。

一、反脆弱插件转正

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

1.1 用途

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

1.2 实现策略

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

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

二、服务端及客户端间的能力协商机制

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

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

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

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

三、配置变更插件

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

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

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

四、更多新特性

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

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

更多详情,参见官方原文:https://github.com/alibaba/nacos/releases/tag/2.3.0


文章作者: Kezade
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Kezade !
评论
  目录