点击关注公众号:互联网架构师,后台回复 2T获取2TB学习资源!
10 月 28 日的时候,Nacos 2.2.0-BETA[1] 发布,这是一个预发布的 beta 版本。就在前不久,Nacos 2.2.0[2] 版本正式发布。
Nacos 2.2.0 版本是一个非常重要的版本,包含一些较大的改动,新增了很多实用的特性比如可以通过 SPI 机制注入多数据源实现插件。
开始介绍 Nacos 2.2.0 的新特性之前,简单介绍一下 Nacos ,以防有人不知道它是做什么的。
什么是 Nacos?
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,主要功能是服务发现及管理、动态配置和动态 DNS。
Nacos 是 Spring Cloud Alibaba 家族中的一员,由于其功能强大稳定且生态丰富,所以使用非常广泛。
下面这张图概括了 Nacos 的主要功能、生态以及优势:
Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如 Spring Cloud、Dubbo。
Nacos 2.2.0 版本做了哪些改动?
变化
第一个重要变化 是 2.2.0 版本将会删除旧的冗余代码,即 1.X 模式服务发现和双写相关代码。删除后,2.2.0 版本将无法从 Nacos 1.X 服务器升级,只能从至少 2.0.0 版本升级。此更改不会影响对 1.X 客户端请求的适配,用户仍然可以使用 1.X 客户端链接 2.2.0 版本服务端。
第二个重要变化 是添加了几个插件 :
数据源插件 :Nacos 从 2.2.0 版本开始,可通过 SPI 机制注入多数据源实现插件,并在引入对应数据源实现后,便可在 Nacos 启动时通过读取
application.properties
配置文件中spring.datasource.platform
配置项选择加载对应多数据源插件。关于多数据源插件如何实现以及如何使其生效,可以参考多数据源插件文档[3]。自定义环境变量插件 :Nacos 从 2.2.0 版本开始,可通过 SPI 机制注入自定义环境变量实现插件,在插件中自定义 Nacos 的配置,并按照您期望的方式进行处理(如数据库密码加密)。关于如何开发和使用自定义环境变量插件,可以参考自定义环境变量插件文档[4]。
连接限制插件 :Nacos 2.2.0 对旧的 limit 模块进行重构,扩展更多的能力,在高并发下保护 Nacos 服务器。
多提一嘴,鉴权插件是 2.1.0 版本添加的。Nacos 从 2.1.0 版本开始,支持通过 SPI 的方式注入鉴权相关插件,并在 application.properties 配置文件中选择某一种插件实现作为实际鉴权服务。
第三个重要变化 是增强了测试版本的 轨迹追踪插件和批量注册,以便使用起来更简单。Nacos 从 2.2.0 版本开始,可通过 SPI 机制注入轨迹追踪实现插件,在插件中订阅并处理追踪事件,并按照您期望的方式进行处理(如打日志,写入存储等)。关于如何开发和使用轨迹追踪插件,可以参考轨迹追踪插件文档[5]。
特性
支持批量注册和批量注销服务
为 Nacos 2.0 增加 v2 openAPI
增加数据源插件
增加数据跟踪插件
增加 Prometheus HTTP 服务发现(prometheus http sd)
增加 LDAP 身份验插件
增加 LDAP 身份认证
重构
删除 1.x 命名和冗余代码
优化选择器
使服务器在启动错误时自动停止
优化模糊查询
增强数据源插件
外部数据源增加
isEmpty
来检查和支撑外部配置NacosApplicationListener
方法修饰符改成默认值在返回列表配置页面后保留查询条件
在返回列表服务页面后保留查询条件
重构限流模块为插件
缺陷修复
修复 group_id 在不通表中不通的长度
修复无法创建 bean ldapAuthenticationProvider
修复 Prometheus 指标实例创建错误
修复验证插件中 token.secret.key base64 解码错误
修复命名空间列表问题
修复客户端工作线程空指针判断顺序
修复某些实例修改成 HTTP 后健康检查不正确问题
修复所有实例权重为零时,选择错误问题
修复控制台配置查询按钮不自动适配浏览器宽度问题
修复服务元数据清理逻辑导致的反注册失败问题
参考资料
[1]Nacos 2.2.0-BETA: https://github.com/alibaba/nacos/releases/tag/2.2.0-BETA
[2]Nacos 2.2.0: https://github.com/alibaba/nacos/releases/tag/2.2.0
[3]多数据源插件文档: https://nacos.io/zh-cn/docs/v2/plugin/datasource-plugin.html
[4]自定义环境变量插件文档: https://nacos.io/zh-cn/docs/v2/plugin/custom-environment-plugin.html
[5]轨迹追踪插件文档: https://nacos.io/zh-cn/docs/v2/plugin/trace-plugin.html
最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。
正文结束
推荐阅读 ↓↓↓