Nacos 一個用于構建云原生應用的動態服務發現、配置管理和服務管理平臺,由阿里巴巴開源,致力于發現、配置和管理微服務。說白了,Nacos 就是充當微服務中的的注冊中心和配置中心。
Nacos 2.3.0 新特性
1. 反脆弱插件
Nacos 2.2.0 版本開始加入反脆弱插件,從 2.3.0 版本開始正式轉正可用。
Nacos Control Plugin ,即反脆弱插件,即防止服務端變得脆弱,它的主要用途是保護 Nacos 服務端避免出現大規模故障,就算在高壓情況下也能快速拒絕請求,防止過多的資源訪問導致服務端資源耗盡引起的大面積不可用。
反脆弱插件的具體實現策略就是,當訪問服務端的某種資源的頻率或次數達到一定程度時,則限制其訪問。
Nacos 支持通過 SPI 的方式注入反脆弱相關插件,并支持在 application.properties
配置文件中配置一個反脆弱插件的實現,SPI 機制的靈活性可以大大增加了反脆弱插件的擴展靈活性,這個機制也貫穿了阿里系開源框架。
2. 服務端及客戶端間的能力協商機制
我們都知道,Nacos 分為服務端和客戶端,隨著 Nacos 版本越來越高,功能越來越多,不同版本間對新增功能支持程度也會很大的差異。
當版本和功能越來越多的時候,如果版本不一致,兩者的通信可能存儲一定的兼容性問題。比如,服務端有這個功能,而客戶端的版本不支持,這樣就會產生兼容性問題,也會帶來多余和通信開銷。
在 Nacos 2.3.0 之前的版本中,Nacos 中的很多能力都是根據版本號來判斷的,可讀性、可維護性和可擴展性都很差。