开发者社区> 中间件小哥> 正文

Nacos 2.1.0 版本发布,支持鉴权及加解密插件

简介: Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
+关注继续查看

2.1.0 新特性


在社区小伙伴的共同努力下,经过了近 1 个月的 Beta 测试后,Nacos 2.1.0 正式发布,支持鉴权及加解密插件,关闭默认支持服务端从 1.X 版本升级的能力(若需要使用平滑升级能力,需要在配置文件中开启此功能)。


对于客户端,此版本重构了类扫描逻辑并删除了 org.reflections 依赖,以解决 org.reflections 冲突时的不兼容问题。


最后,这个版本做了一些控制台优化并修复了 2.0.4 中发现的一些问题。


详细变更日志如下:


## Features

[#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0
[#5696] Add a plugin SPI for authentication for Nacos 2.0.
[#7930] Default close support upgrade from 1.X feature.
[#7992] Support cluster grpc client to set thread pool size.
[#8220] Add reset raft cluster operation.

## Enhancement & Refactor

[#7487] Add generics for the CacheBuilder.
[#7879] Refactor destroy method of AbstractMemberLookup.
[#7924][#8214] Add ldap auth plugin.
[#7952] Ignore read request for raft follower's state machine to enhance raft stability.
[#7966] Add more information in Auth/Distro/Curcuit-Filter when cause some server error.
[#7971] Stop version judge Task and release thread after upgrade completely.
[#8072] Enhance memory cost in DistroProtocol initialization.
[#8107] Enhance console change password operation.
[#8156] Support js and css of console auto-upgrade. 


## BugFix

[#1717][#7359] Fix XSS vulnerabilities.
[#6273] Fix loop request for offline server nodes API.
[#6999] Fix Nacos client does not support logback overload log configuration.
[#7757] Fix jraft read request deserialize to write request problem. 
[#7780] Fix config a-b-a problem.
[#7941] Fix version comparison error in Config Detail page.
[#8087] Fix text out of box in configuration manager.
[#8108] Fix throw NPR for health check for v2.
[#8050] Fix configuration about Distro changes could not take effect.
[#8161] Fix console can't use relative path problem.
[#8163] Fix multi-instance share the same local snapshot.
[#8196] Fix subscriber api without count when the query number is more than subscriber count.

## Dependency

[#7758] Update module nacos-consistency protobuf-maven-plugin version to 0.6.1.
[#7886] Enhance package scan logic and remove org.reflections dependency.

## Tests

[#4981] Add much unit test.
[#8009] Fix NPE of unit test.


插件化


支持插件化是2.1.0版本的主要改动之一。Nacos通过[SPI](https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html)的方式,允许用户和开发者实现自己的对应功能插件使用;目前 Nacos 已经支持鉴权和加解密的插件化能力。


  • 鉴权

自从 Nacos 1.2 版本加入鉴权功能后,社区对鉴权功能的讨论一直持续。原因是 Nacos 目前的鉴权系统设计为防止错用及用户隔离。但社区中对鉴权能力的要求不局限于此,为了满足不同的用户对鉴权程度的不同要求。Nacos 社区希望设计一套用于鉴权的 API,并将其注入到网络请求的流程中。


Nacos 目前的鉴权实现也已经重构成默认的鉴权插件,社区所贡献的 LADP 也已改造完成,使用方式和以前一致;如果需要开发自定义的鉴权插件,可以参考文档[鉴权插件](https://nacos.io/zh-cn/docs/auth-plugin.html)实现。


  • 加解密

在 Nacos 社区中,许多用户关注配置中某些敏感信息的安全性问题。除了通过鉴权,社区也希望能对配置内容中的敏感信息进行加密。由于用户和开发者所使用或对接的算法和加解密系统可能不同,因此 Nacos 社区设计了一套用于加解密的 API,并将其注入到发布和查询配置的工作流程中。更多加解密插件的细节可以参考文档[配置加密插件](https://nacos.io/zh-cn/docs/config-encryption.html)。

默认关闭兼容 1.X 服务端升级


默认关闭支持服务端从 1.X 版本升级的能力是 Nacos2.1.0 版本的另一个重要改动。在 2.0.X 版本中,数据结构进行了一些重新设计,导致和 1.X 的数据无法直接兼容,为了方便社区用户从 1.X 平滑升级到 Nacos2.0 版本,Nacos2.0 版本除了兼容 1.X 的 openAPI 外,还新增了双写数据等逻辑;但这部分逻辑对系统资源有较大的损耗,并且由于机制较为复杂,导致部分直接使用 2.0 版本的用户可能会遇到一些版本切换的疑问。因此在 Nacos2.1 版本中,我们默认关闭了兼容1.X服务端平滑升级能功能,关闭该功能后直接部署 2.1 版本将不会再从 1.X 模式进行检测和升级,而是直接运行在 2.X 的数据模式下,同时也支持 2.0 版本直接升级 2.1 版本。


若是希望从 Nacos1.X 直接升级到 Nacos2.1.0 版本,则需要在 application.properties 文件中设置配置 nacos.core.support.upgrade.from.1x=true,此时 Nacos2.1 版本会和 Nacos2.0 版本一样,以 1.X 的数据模式启动,并开始自动升级检测,待全集群数据一致,且准备完毕后,切换至 2.0 数据模式,更多升级相关的内容,请参考文档[升级文档](https://nacos.io/zh-cn/docs/2.0.0-upgrading.html)。


社区


在过去的一年里,社区内涌现出大量优秀的贡献者,他们为 Nacos 社区持续不断的注入活力和内容;正是有你们的关注和贡献,Nacos 才能在 2021 年获得开源中国最受欢迎项目的奖项,在此郑重感谢去年参与社区贡献的 Contributor,Committer 和 PMC 同学,以及其他通过各种方式参与到社区的同学。


感谢同学们的持续贡献,正是有了大家的共同努力,Nacos 才能变得越来越完善。

640.jpg


新 PMC&Committer

Nacos 社区新晋级了一位 PMC 同学和两位 Committer 同学。


来自滴滴出行的 sanxun0325 同学作为 Nacos,Dubbo Go,Sentinal 的 Committer,在社区十分活跃,在过去的 2021 年也是为 Nacos 社区的 go-sdk 做出了大量贡献,并主导着 Nacos-go-sdk 社区的发展;因此提名为 Nacos 社区的 PMC。


另外,来自微众银行 MajorHe1 和小米科技 hujun-w-2 同学,鉴于持续的大量社区贡献,经社区 PMC 及 Committer 的投票表决,提名为 Nacos 社区的 Committer,希望二位能继续保持活跃,为 Nacos 社区添砖加瓦。


640 (1).jpg

640 (2).jpg


年度优秀 Committer

2021 年度,Nacos 社区有许多 Committer 利用自己的业余时间,持续的贡献者 Nacos 社区。为了感谢,Nacos 社区评选出了 12 位 2021 年度优秀 Committer,并特意制作了奖杯及卫衣,希望在 2022 年度,仍然能看到你们的身影。


这 12 位优秀 Committer 分别是(根据字母顺序):brotherlu-xcq 、 catcherwong 、haoyann 、 horizonzy 、 JackSun-Developer 、KomachiSion 、li-xiao-shuang 、 paderlol 、 sanxun0325 、 shiyiyue1102 、TTTTTAAAAAKKKKEEEENNNN 、xuechaos


没有被选中的 Committer 同学也不要担心,2022 年度我们仍然会保持这个活动,希望 2022 年度优秀 Committer 有你们的名字。

640 (3).jpg

贡献者激励活动


相信很多贡献者都已经收到了 Nacos 寄出的小礼物了,此类的活动 Nacos 社区会持续进行,只需要您持续关注社区,积极参与社区共建,就能够获得哦。

640 (4).jpg


  • 代码贡献活动

Nacos 社区预计在 7 月会再次进行贡献者的激励活动,届时会统计并评选出数十位 2022 年 7 月前较为活跃的贡献者(不仅是 Nacos 的主干仓库,也包含了 nacos-group 下的各个仓库),并寄出新的社区纪念礼品;下期的贡献者礼品是雨伞,赶紧进行贡献获取吧。


  • 优秀社区文章活动

Nacos 社区的贡献并不只包含代码,社区也欢迎广大用户或开发者发表技术文章来和大家分享关于 Nacos 的技术心得;其中包括但不限于:Nacos 的应用、源码解析、产品融合和社区合作等。欢迎大家提交文章到 Nacos 官方文档的博客栏目中,或发布在自己的微信公众号及博客中;对于优秀的社区文章,Nacos 社区会收录到博客栏目及阿里开源的官方网站中,并会给文章作者寄送相应的礼物。


  • 开源之夏 2022

在 2021 年,Nacos 社区参与了由 ISCAS(中国科学院软件研究所)和 openEuler 社区托管的开源之夏 2021 活动,在导师、高校同学和主办方的共同努力下,完成了数个意义非凡的课题,其中就包括本次发版中最关键的两个改动:鉴权插件及配置加密插件。


今年,开源之夏 2022 如期而至,Nacos 社区也再次参与活动,并制定了 6 个课题,欢迎关注并点击【阅读原文】参与 Nacos 的开源之夏 2022。


About Nacos


Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。


Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18573 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27697 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
12962 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
21932 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15284 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
19976 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14851 0
+关注
中间件小哥
阿里中间件(Aliware)官方账号
1140
文章
52
问答
来源圈子
更多
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
+ 订阅
相关文档: 全局事务服务GTS 分布式调度任务SchedulerX 云服务总线CSB
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载