本地開發的Spring Cloud應用或者Dubbo應用託管到Serverless 應用引擎 SAE(Serverless App Engine)時,您可以使用SAE的註冊中心,也可以使用MSE託管的註冊中心。本文介紹如何通過SAE控制台為應用配置Nacos服務註冊與發現功能。
前提條件
-
已建立專用網路,並確保網路可用。具體操作,請參見建立和管理專用網路。
-
執行應用程式前,確保Nacos註冊中心的訪問連接埠(例如8848)已添加至安全性群組。具體操作,請參見添加安全性群組規則。
-
已建立Nacos引擎,並建立該執行個體的命名空間。
使用推薦
當您的微服務應用較多時,註冊中心按推薦程度由高到低依次排序如下:
商業版的服務註冊中心(MSE)
自建服務註冊中心
SAE內建服務註冊中心
使用限制
使用MSE的Nacos的相關限制,具體詳情,請參見MSE Nacos SDK的應用和Nacos SDK限制使用版本。
功能入口
情境不同,對應的操作入口也有所差異:
建立應用
-
登入SAE控制台,在左側導覽列選擇應用管理 > 應用列表,然後選擇目標地區和目標命名空間,最後單擊创建应用。
-
在应用基本信息嚮導頁面進行配置後,單擊下一步:高级设置。
對正在啟動並執行應用進行變更
重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。
-
登入SAE控制台,在左側導覽列選擇應用管理 > 應用列表,然後選擇目標地區和目標命名空間,最後單擊目標應用程式名稱。
-
在目標應用的基础信息頁面,單擊部署应用。
對已停止的應用進行變更
-
登入SAE控制台,在左側導覽列選擇應用管理 > 應用列表,然後選擇目標地區和目標命名空間,最後單擊目標應用程式名稱。
-
在目標應用的基础信息頁面,單擊修改應用配置。
佈建服務註冊發現功能
找到並展開服务注册发现地區,選擇Nacos注册中心服务发现為MSE Nacos 专业版,然後選擇建立好的MSE Nacos 執行個體和對應的命名空间。
結果驗證
以Consumer應用為例,在基础信息頁面的執行個體列表頁簽,在執行個體列表操作列,單擊Webshell,在Webshell視窗執行相關命令,驗證應用部署是否成功。更多資訊,請參見使用Webshell診斷應用。
-
驗證服務是否成功註冊。
curl -X GET 'http://192.168.XX.XX:8848/nacos/v1/ns/instance/list?serviceName=service-provider'
-
service-provider:服務名。 -
192.168.XX.XX:8848:安裝Nacos的主機IP地址和連接埠號碼。192.168.XX.XX需替換成MSE Nacos註冊中心的內網地址。您可以登入MSE註冊配置中心管理主控台,在執行個體列表頁面,單擊目標執行個體。然後在目標執行個體的基础信息頁面,擷取註冊中心的內網地址。
返回結果如下,表示服務登入成功。
[/home/admin]$ curl -X GET 'http://mse-xxx-nacos-ans.mse.aliyuncs.com:8848/nacos/v1/ns/instance/list?serviceName=service-provider'
{"name":"DEFAULT_GROUP@@service-provider","groupName":"DEFAULT_GROUP","clusters":"","cacheMillis":10000,"hosts":[],"lastRefTime":1679984302840,"checksum":"","allIPs":false,"reachProtectionThreshold":false,"hitWeightProtection":false,"valid":true,"dom":"service-provider"} [/home/admin]$
-
驗證整個微服務應用的訪問鏈路是否正常。
按需選擇以下命令。127.0.0.1:18082為運行Provider和Consumer的主機IP地址和訪問連接埠。
curl http://127.0.0.1:18082/echo-rest/{自訂變數}curl http://127.0.0.1:18082/echo-feign/{自訂變數}
返回結果如下,表示Consumer應用已成功調用Provider應用,微服務應用的訪問鏈路正常。執行命令及返回樣本如下,返回 192.168.0.222:hello 表示微服務訪問鏈路正常。
[/home/admin]$ curl http://127.0.0.1:18082/echo-rest/hello
192.168.0.222:hello
[/home/admin]$