升級Nacos引擎版本
Nacos引擎類型分為專業(yè)版和開發(fā)版(基礎(chǔ)版已停止售賣及功能更新),同時Nacos有自身的引擎版本。本文介紹如何在MSE控制臺上升級Nacos引擎版本。您可以將基礎(chǔ)版升級為專業(yè)版或開發(fā)版,或者選擇合適的Nacos引擎版本進行升級。
前提條件
背景信息
MSE注冊配置中心的產(chǎn)品版本分為專業(yè)版和開發(fā)版(基礎(chǔ)版已停止售賣及功能更新,即使用基礎(chǔ)版的用戶將無法享受新功能),同時Nacos有自身的引擎版本。關(guān)于Nacos引擎不同版本的功能特性,請參見Nacos引擎版本說明。
對于升配降配,如果是基礎(chǔ)版實例可升級為開發(fā)版和專業(yè)版;開發(fā)版只可升級為開發(fā)版,不可升級為企業(yè)版;企業(yè)版只可升級為企業(yè)版,不可降級為開發(fā)版。
Nacos基礎(chǔ)版升級為專業(yè)版或開發(fā)版
目前僅支持Nacos引擎1.2.1.0及以上版本升級至專業(yè)版或開發(fā)版,若您目前使用的是1.1.3.x版本,則需要先升級至1.2.1版本。具體操作,請參見Nacos 1.1.3版本升級為1.2.1版本。
為了保證數(shù)據(jù)一致性及升級過程的穩(wěn)定性,Nacos會在升級過程中對注冊的服務(wù)數(shù)據(jù)進行雙寫,因此升級前請確保集群的提供者實例數(shù)低于對應(yīng)規(guī)格的基礎(chǔ)版最大實例數(shù),避免升級時的雙寫對業(yè)務(wù)造成影響。相關(guān)內(nèi)容,請參見微服務(wù)注冊配置中心實例能力評估。
關(guān)于MSE基礎(chǔ)版、專業(yè)版和開發(fā)版引擎的對比信息,請參見微服務(wù)注冊配置中心版本選型。
登錄MSE注冊配置中心管理控制臺,并在頂部菜單欄選擇地域。
在左側(cè)導(dǎo)航欄,選擇注冊配置中心 > 實例列表。
在實例列表頁面,單擊目標(biāo)MSE實例操作列下方的更多。
對于付費方式為包年包月的實例,根據(jù)需要選擇升配或降配。
對于付費方式為按量付費的實例,選擇升配降配。
說明如果目標(biāo)實例類型已經(jīng)是最新版本,可單擊操作列下方的升配,進入變配頁面對實例進行擴縮容。
在變配頁面,根據(jù)需要選擇產(chǎn)品版本,然后配置引擎規(guī)格、集群節(jié)點數(shù)等。
專業(yè)版當(dāng)前為多節(jié)點實例,開發(fā)版當(dāng)前為單節(jié)點實例。
在變更產(chǎn)品版本時,各版本變更有以下限制:
基礎(chǔ)版實例可升級為開發(fā)版和專業(yè)版。
開發(fā)版實例只可升級為開發(fā)版,不可升級為專業(yè)版。
專業(yè)版實例只可升級為專業(yè)版,不可降級為開發(fā)版。
確認訂單。
單擊立即購買。
在確認訂單頁面,仔細閱讀并勾選服務(wù)協(xié)議,然后單擊去支付。
Nacos引擎MSE優(yōu)化版本升級
實例升級持續(xù)時間約為10分鐘,期間無法在控制臺對該實例進行任何操作。建議在業(yè)務(wù)低峰期時進行升級,避免升級對業(yè)務(wù)造成影響。
節(jié)點數(shù)量為3節(jié)點及以上的實例,各個節(jié)點會進行滾動發(fā)布,并自動完成數(shù)據(jù)同步,保證升級無損;節(jié)點數(shù)量為1節(jié)點和2節(jié)點的實例屬于非高可用實例,升級無法做到無損。
對業(yè)務(wù)運行來講升級是無損的,但因為升級導(dǎo)致的網(wǎng)絡(luò)重連,會導(dǎo)致鏈接重連的日志以及重啟導(dǎo)致監(jiān)控數(shù)據(jù)短暫抖動。
登錄MSE注冊配置中心管理控制臺,并在頂部菜單欄選擇地域。
在左側(cè)導(dǎo)航欄,選擇注冊配置中心 > 實例列表。
在實例列表頁面,單擊目標(biāo)實例產(chǎn)品版本列下方的手動升級。
說明如果目標(biāo)實例類型已經(jīng)是最新版本,將不會出現(xiàn)手動升級字樣。
您還可以在實例列表中單擊需要升級的實例。在基礎(chǔ)信息頁面,單擊引擎版本右側(cè)的手動升級。
在集群升級對話框,單擊確定。
Nacos 1.1.3版本升級為1.2.1版本
目前Nacos 1.1.3版本已經(jīng)下線,不再單獨維護。為避免造成使用上的問題,請盡快將引擎版本升級至1.2.1及以上版本。
如果需要將引擎版本升級至開發(fā)版或?qū)I(yè)版的2.x版本,需先將引擎升級至1.2.1,再進行升配。
登錄MSE注冊配置中心管理控制臺,并在頂部菜單欄選擇地域。
在左側(cè)導(dǎo)航欄,選擇注冊配置中心 > 實例列表。
在實例列表頁面,選擇待升級的Nacos實例,單擊操作列下的圖標(biāo),選擇升級引擎版本。
在集群升級對話框,單擊確定。
返回實例列表頁面,Nacos實例版本成功由1.1.3升級到1.2.1。
升級過程中的常見問題
問:升級到專業(yè)版Nacos 2.0.0后,能否支持舊版本客戶端?
答:配置中心兼容并支持Nacos Client 1.0.0之后的所有客戶端版本,服務(wù)發(fā)現(xiàn)兼容Nacos Client 1.2.0之后的所有客戶端版本。 但Nacos Client 1.x.x的客戶端版本不具有長連接能力,因此建議使用Nacos Client 2.0.0之后的客戶端版本。
問:我使用的是Spring Cloud Alibaba或Dubbo,如何升級客戶端?
答:對于Spring Cloud Alibaba,可通過指定Nacos Client的方式,升級Nacos Client版本。例如:
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>${springcloudalibaba.version}</version> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>${springcloudalibaba.version}</version> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.0.2</version> </dependency>
對于Dubbo,也可以通過指定Nacos Client的方式升級Nacos Client版本。例如:
<dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-registry-nacos</artifactId> <version>${dubbo.version}</version> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.0.2</version> </dependency>
重要Dubbo 2.7.8版本存在比較嚴重的問題,會導(dǎo)致創(chuàng)建非常多Nacos Client實例,從而導(dǎo)致連接數(shù)、線程數(shù)暴漲,請在升級Nacos Client前,務(wù)必先升級Dubbo的版本。相關(guān)內(nèi)容,請參見問題詳情。
問:MSE升級到專業(yè)版,應(yīng)用升級客戶端后,出現(xiàn)啟動報錯:
Connection is unregistered
或Client not connected,current status:STARTING
。答:原因是客戶端gRPC無法和服務(wù)端創(chuàng)建連接,請先使用
telnet ${nacos.server.address}:9848
測試,查看網(wǎng)絡(luò)是否暢通,應(yīng)用所在網(wǎng)絡(luò)是否與MSE網(wǎng)絡(luò)處于同一個VPC下。如果使用的是公網(wǎng)網(wǎng)絡(luò),請先設(shè)置公網(wǎng)白名單,具體操作,請參見設(shè)置白名單。另外,客戶端不需要修改應(yīng)用設(shè)置的端口配置,仍然配置為8848,Nacos Client會自動為您計算gRPC端口。
問:MSE升級到專業(yè)版,應(yīng)用升級客戶端后,出現(xiàn)啟動報錯:
"Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.”
。答:原因是MSE專業(yè)版正在進行舊版本數(shù)據(jù)和新版本數(shù)據(jù)的同步雙寫和校驗,以確保升級切換后數(shù)據(jù)一致。因此會在校驗完成前暫時拒絕Nacos Client 2.0.0版本客戶端發(fā)來的請求,此時Nacos Client 1.x.x版本的客戶端請求和控制臺請求不會受到影響。待數(shù)據(jù)同步和校驗完成,MSE專業(yè)版會自動切換;同步雙寫和校驗過程依據(jù)實例規(guī)模大小會有所不同,一般持續(xù)5~20分鐘。如果出現(xiàn)該問題,請等待一段時間后重試。