Nacos 2.1.0 正式發(fā)布!大家直呼學(xué)不動了
點(diǎn)擊上方藍(lán)色字體,選擇“設(shè)為星標(biāo)”

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