Nacos 3.0 發(fā)布:AI MCP、分布式、JDK 17 +Spring Boot 3
在現(xiàn)代微服務架構(gòu)中,Nacos 扮演著至關(guān)重要的角色。
它作為動態(tài)命名和配置服務平臺,為構(gòu)建云原生應用提供了便捷的服務發(fā)現(xiàn)、配置管理和服務治理能力。
自誕生以來,Nacos 憑借其易用性和強大的功能,贏得了廣大開發(fā)者的青睞,成為構(gòu)建穩(wěn)定、高可用微服務體系的關(guān)鍵組件。
前幾天,備受期待的 Nacos 3.0 版本正式發(fā)布,Nacos 3.0 緊隨技術(shù)發(fā)展趨勢,在多個方面進行了創(chuàng)新和增強(比如 AI MCP 、分布式鎖等),旨在更好地服務于日益復雜的應用場景。
圖片
擁抱 JDK 17 與 Spring Boot 3
不再支持 JDK8 環(huán)境,Nacos 3.0 將其依賴的 JDK 版本升級至 17,并將 Spring Boot 版本升級至 3.4.1。
這些升級帶來了諸多好處,包括更高的性能、更強的安全性以及對最新語言特性和框架功能的全面支持。
提醒大家: 如果你的項目還在用 JDK 8,升級 Nacos 3.0 前,得先考慮升級 JDK 環(huán)境哦!
增強的 Admin API
為了更好地進行運維管理和支持控制臺的獨立部署,Nacos 3.0 引入了一套全新的 Admin API。
這些 API 使得運維人員和自定義控制臺能夠更方便地訪問和管理 Nacos 的數(shù)據(jù)。同時,Nacos 3.0 還計劃提供一個維護者 SDK,以簡化這些 Admin API 的使用。
默認啟用認證
出于安全考慮,Nacos 3.0 默認啟用了 Admin API、Console API 和 Inner API 的認證功能。
這意味著在首次部署 Nacos 3.0 時,需要進行額外的配置才能訪問這些接口。默認啟用認證能夠有效提升 Nacos 實例的安全性,防止未經(jīng)授權(quán)的訪問和操作。
全面擁抱 AI,Nacos 變身 MCP Registry
隨著大語言模型(LLM)、AI Agent 的火熱,如何高效、動態(tài)地管理和發(fā)現(xiàn)這些“智能體”(模型、工具、提示詞等)成了新的挑戰(zhàn)。
Nacos 敏銳地抓住了這個趨勢,引入了對 MCP (Model Content Protocol) 的支持,搖身一變成為了 MCP Registry!
圖片
圖片
那么,Nacos 作為 MCP Registry 能干啥呢?簡單來說:
- 統(tǒng)一管理 MCP 服務: 就像管理普通微服務一樣,你可以在 Nacos 里注冊、發(fā)現(xiàn)、管理各種 MCP Server(你可以理解為提供 AI 模型能力或工具的服務)。
- 動態(tài)更新 MCP 信息: 模型描述、它能使用的工具(Tools)、提示詞(Prompts)等信息,都可以在 Nacos 里動態(tài)修改,實時生效,無需重啟 MCP Server!這對于需要頻繁調(diào)試優(yōu)化 AI 效果的場景來說,簡直是神器!
- 支持多種 MCP Server 來源注冊:
存量 API 變身 MCP: 最厲害的是,你可以“0 代碼”地把現(xiàn)有的普通 HTTP/RPC 接口,通過在 Nacos 配置描述信息,再結(jié)合 Higress 網(wǎng)關(guān)(或 Nacos 自家的 Nacos-MCP-Router),快速轉(zhuǎn)換成符合 MCP 協(xié)議的服務!讓老業(yè)務也能搭上 AI 的快車。
新構(gòu)建 MCP Server 自動注冊: 如果你是用 Spring AI (Java)、Python 等框架新開發(fā)的 MCP Server,只需引入 Nacos 提供的依賴(或稍作修改),就能自動注冊到 Nacos,實現(xiàn)動態(tài)管理。
第三方/已有 MCP Server 統(tǒng)一納管: 對于已有的或者從外部獲取的 MCP Server,可以通過 Nacos-MCP-Router 或 Higress 網(wǎng)關(guān)代理進行注冊和管理。
- 引入 Nacos-MCP-Router: 這是 Nacos 社區(qū)推出的新組件(基于 Python),專門用來配合 Nacos MCP Registry。它可以:
- 智能發(fā)現(xiàn) MCP Server: AI Agent 只需對接 Router,Router 會根據(jù)任務需求,利用向量搜索等技術(shù)智能地從 Nacos 查找最合適的 MCP Server。
- 減少 Token 消耗: Router 可以過濾掉無關(guān)信息,只把必要的 MCP 信息傳遞給 AI Agent,避免了將所有 MCP Server 信息都丟給大模型處理,節(jié)省了寶貴的 Tokens。
- 自動安裝與代理: 如果需要的 MCP Server 沒部署,Router 還能自動安裝(如果支持),并代理請求。
- 使用 Nacos 管理 MCP 的好處多多: 統(tǒng)一管理、動態(tài)生效、密鑰管理、歷史版本、灰度發(fā)布、敏感信息加密、甚至還能幫你把 MCP 返回的 JSON 轉(zhuǎn)成大模型更喜歡的 XML 格式!
統(tǒng)一空命名空間與公共命名空間
Nacos 3.0 統(tǒng)一了空命名空間和公共命名空間的處理方式。
這一改動簡化了命名空間的概念,使得用戶在使用 Nacos 進行資源隔離時能夠獲得更加一致和直觀的體驗。
分布式鎖(Beta 功能)
千呼萬喚始出來!Nacos 3.0 提供了實驗性的分布式鎖功能。雖然目前還是 Beta 版,但這有望讓很多依賴 Nacos 的系統(tǒng)不再需要額外引入 ZooKeeper 或 Redis 來做簡單的分布式鎖,簡化了架構(gòu)。(用前請注意 Beta 風險)
分布式鎖是一種在分布式環(huán)境下控制多個進程對共享資源進行互斥訪問的機制,它可以有效地解決分布式系統(tǒng)中的并發(fā)問題,例如防止多個節(jié)點同時修改同一份數(shù)據(jù),保證數(shù)據(jù)的一致性。
服務與配置的模糊監(jiān)聽(Beta 功能)
Nacos 3.0 還引入了服務與配置的模糊監(jiān)聽功能(Beta)。傳統(tǒng)的監(jiān)聽通常需要指定確切的服務名或配置 ID,而 模糊監(jiān)聽允許用戶根據(jù)特定的模式或前綴來監(jiān)聽服務或配置的變化。
例如,用戶可以監(jiān)聽所有以 "order-"開頭的服務,或者監(jiān)聽所有屬于 "database"組的配置。
這種方式簡化了對大量相關(guān)服務或配置的管理,使得服務發(fā)現(xiàn)和配置管理更加靈活高效。
直接支持 xDS 協(xié)議
Nacos 3.0 GA 版本直接支持 xDS 協(xié)議(包括 EDS、LDS、RDS 和 CDS)。xDS 協(xié)議是服務網(wǎng)格(如 Istio)中用于服務發(fā)現(xiàn)和配置下發(fā)的標準協(xié)議。
直接支持 xDS 協(xié)議意味著 Nacos 可以更好地融入服務網(wǎng)格生態(tài),為采用服務網(wǎng)格架構(gòu)的用戶提供更便捷的集成方案。
K8s 生態(tài)同步增強 (Nacos Controller 2.0)
可以實現(xiàn) K8s Service 與 Nacos 服務的同步,以及 K8s ConfigMap/Secret 與 Nacos 配置的雙向同步,打通 K8s 與 Nacos 生態(tài)。
總結(jié)
Nacos 3.0 絕對是一次里程碑式的發(fā)布!它不僅在基礎(chǔ)架構(gòu)、安全性、易用性上做了大量優(yōu)化,更重要的是,它前瞻性地布局 AI 領(lǐng)域,推出了 MCP Registry 核心能力,致力于成為構(gòu)建云原生 AI 應用不可或缺的基礎(chǔ)設(shè)施。
無論你是 Nacos 的老用戶,還是正在探索云原生和 AI 應用的開發(fā)者,Nacos 3.0 都值得你重點關(guān)注和嘗試。當然,升級前別忘了仔細閱讀官方文檔,特別是關(guān)于 JDK 版本、認證配置和 Beta 功能的說明。