Nacos 2.1.0 正式發(fā)布!堪稱(chēng)最強(qiáng)!
2.1.0 新特性
在社區(qū)小伙伴的共同努力下,經(jīng)過(guò)了近1個(gè)月的Beta測(cè)試后,Nacos 2.1.0 正式發(fā)布,支持鑒權(quán)及加解密插件,關(guān)閉默認(rèn)支持服務(wù)端從 1.X 版本升級(jí)的能力(若需要使用平滑升級(jí)能力,需要在配置文件中開(kāi)啟此功能)。
對(duì)于客戶(hù)端,此版本重構(gòu)了類(lèi)掃描邏輯并刪除了 org.reflections 依賴(lài),以解決 org.reflections 沖突時(shí)的不兼容問(wèn)題。最后,這個(gè)版本做了一些控制臺(tái)優(yōu)化并修復(fù)了 2.0.4 中發(fā)現(xiàn)的一些問(wèn)題。
詳細(xì)變更日志如下:
# Features[#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.05696] 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版本的主要改動(dòng)之一。
Nacos通過(guò) SPI 的方式,允許用戶(hù)和開(kāi)發(fā)者實(shí)現(xiàn)自己的對(duì)應(yīng)功能插件使用;目前Nacos已經(jīng)支持鑒權(quán)和加解密的插件化能力。
鑒權(quán)
自從Nacos 1.2 版本加入鑒權(quán)功能后,社區(qū)對(duì)鑒權(quán)功能的討論一直持續(xù)。原因是Nacos目前的鑒權(quán)系統(tǒng)設(shè)計(jì)為防止錯(cuò)用及用戶(hù)隔離。但社區(qū)中對(duì)鑒權(quán)能力的要求不局限于此,為了滿(mǎn)足不同的用戶(hù)對(duì)鑒權(quán)程度的不同要求。Nacos社區(qū)希望設(shè)計(jì)一套用于鑒權(quán)的API,并將其注入到網(wǎng)絡(luò)請(qǐng)求的流程中。
Nacos目前的鑒權(quán)實(shí)現(xiàn)也已經(jīng)重構(gòu)成默認(rèn)的鑒權(quán)插件,社區(qū)所貢獻(xiàn)的LADP也已改造完成,使用方式和以前一致;如果需要開(kāi)發(fā)自定義的鑒權(quán)插件,可以參考文檔鑒權(quán)插件實(shí)現(xiàn)。
加解密
在Nacos社區(qū)中,許多用戶(hù)關(guān)注配置中某些敏感信息的安全性問(wèn)題。除了通過(guò)鑒權(quán),社區(qū)也希望能對(duì)配置內(nèi)容中的敏感信息進(jìn)行加密。由于用戶(hù)和開(kāi)發(fā)者所使用或?qū)拥乃惴ê图咏饷芟到y(tǒng)可能不同,因此Nacos社區(qū)設(shè)計(jì)了一套用于加解密的API,并將其注入到發(fā)布和查詢(xún)配置的工作流程中。更多加解密插件的細(xì)節(jié)可以參考文檔配置加密插件。
默認(rèn)關(guān)閉兼容1.X服務(wù)端升級(jí) 默認(rèn)關(guān)閉支持服務(wù)端從 1.X 版本升級(jí)的能力是Nacos2.1.0版本的另一個(gè)重要改動(dòng)。在2.0.X版本中,數(shù)據(jù)結(jié)構(gòu)進(jìn)行了一些重新設(shè)計(jì),導(dǎo)致和1.X的數(shù)據(jù)無(wú)法直接兼容,為了方便社區(qū)用戶(hù)從1.X平滑升級(jí)到Nacos2.0版本,Nacos2.0版本除了兼容1.X的openAPI外,還新增了雙寫(xiě)數(shù)據(jù)等邏輯;但這部分邏輯對(duì)系統(tǒng)資源有較大的損耗,并且由于機(jī)制較為復(fù)雜,導(dǎo)致部分直接使用2.0版本的用戶(hù)可能會(huì)遇到一些版本切換的疑問(wèn)。因此在Nacos2.1版本中,我們默認(rèn)關(guān)閉了兼容1.X服務(wù)端平滑升級(jí)能功能,關(guān)閉該功能后直接部署2.1版本將不會(huì)再?gòu)?.X模式進(jìn)行檢測(cè)和升級(jí),而是直接運(yùn)行在2.X的數(shù)據(jù)模式下,同時(shí)也支持2.0版本直接升級(jí)2.1版本。
若是希望從Nacos1.X直接升級(jí)到Nacos2.1.0版本,則需要在application.properties文件中設(shè)置配置nacos.core.support.upgrade.from.1x=true,此時(shí)Nacos2.1版本會(huì)和Nacos2.0版本一樣,以1.X的數(shù)據(jù)模式啟動(dòng),并開(kāi)始自動(dòng)升級(jí)檢測(cè),待全集群數(shù)據(jù)一致,且準(zhǔn)備完畢后,切換至2.0數(shù)據(jù)模式,更多升級(jí)相關(guān)的內(nèi)容,請(qǐng)參考文檔升級(jí)文檔:
https://nacos.io/zh-cn/docs/2.0.0-upgrading.htmlAbout Nacos
Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。
Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái)。Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu) (例如微服務(wù)范式、云原生范式) 的服務(wù)基礎(chǔ)設(shè)施。
最近熬夜給大家準(zhǔn)備了非常全的一套Java一線(xiàn)大廠面試題。全面覆蓋BATJ等一線(xiàn)互聯(lián)網(wǎng)公司的面試題及解答,由BAT一線(xiàn)互聯(lián)網(wǎng)公司大牛帶你深度剖析面試題背后的原理,不僅授你以魚(yú),更授你以漁,為你面試掃除一切障礙。

資源,怎么領(lǐng)取?
掃二維碼,加我微信,備注:面試題
一定要備注:面試題,不要急哦,工作忙完后就會(huì)通過(guò)!
