1 概述
華為云CAE(Cloud Application Engine云應用引擎)是一個面向WEB、微服務應用的Serverless托管服務,提供極速部署、極低成本、極簡運維的一站式應用托管方案。支持從源碼、軟件包、鏡像包快速發布應用,秒級彈性伸縮、按量付費。可做到基礎設施免運維,根據可觀測的運行指標對應用進行生命周期管理。
官方文檔:
https://support.huaweicloud.com/productdesc-cae/cae_01_0001.html
2 環境
微服務有api-gateway、consumer、provider。
2.1 準備容器鏡像
將以下容器鏡像推送到你的華為云SWR實例中:
swr.cn-south-1.myhuaweicloud.com/migrator/spring-cloud-api-gateway:latest
swr.cn-south-1.myhuaweicloud.com/migrator/spring-cloud-consumer-nacos-demo:latest
swr.cn-south-1.myhuaweicloud.com/migrator/spring-cloud-provider-nacos-demo:latest
2.2 準備華為云負載均衡器ELB
ELB是用于暴露部署在CAE環境里的容器,在本文就是api-gateway服務。
2.3 準備華為云APM應用
spring cloud微服務容器使用java探針,將調用鏈信息上傳到華為云托管的APM服務端。在此處新建一個APM應用即可。
2.4 準備華為云托管版nacos服務
3 部署
3.1 api-gateway服務部署
3.1.1 創建組件
3.1.2 配置組件
-
配置健康檢查:
-
配置負載均衡器:
-
配置APM:
-
配置nacos
- 配置環境變量
將環境變量NACOS_SERVER設置成托管版的nacos實例的內網域名,如下圖:
- 配置負載均衡器
負載均衡用于暴露api-gateway服務,以便外界(例如一臺獨立的ECS)進行統一訪問。
3.1.3 啟動組件
[ 組件配置 ] --> 選擇組件 --> [ 生效配置 ]。
[ 組件實例] --> [ 啟動 ]。
3.2 provider服務部署
3.2.1 創建組件
3.2.2 配置組件
- 配置健康檢查
-
配置APM:
-
配置nacos
- 配置環境變量
將環境變量NACOS_SERVER設置成托管版的nacos實例的內網域名,如下圖:
3.2.3 啟動組件
啟動組件
[ 組件配置 ] --> 選擇組件 --> [ 生效配置 ]。
[ 組件實例] --> [ 啟動 ]。
3.3 consumer服務部署
3.3.1 創建組件
3.3.2 配置組件
- 配置健康檢查
-
配置APM:
-
配置nacos
- 配置環境變量
將環境變量NACOS_SERVER設置成托管版的nacos實例的內網域名,如下圖:
3.3.3 啟動組件
啟動組件
[ 組件配置 ] --> 選擇組件 --> [ 生效配置 ]。
[ 組件實例] --> [ 啟動 ]。
3.4 部署結果
在CAE控制臺,可以看見組件部署成功:
在托管的nacos實例中,可以看見微服務已完成注冊。
在APM服務中,可以看見JAVA探針成功將數據回傳到服務端。
4 測試
在相同VPC下開啟一臺ECS,瀏覽器訪問api-gateway服務的接口/consumer//consumer/call,可見得到正確響應:
APM工具中也能看見調用鏈路:
5 小結
本文介紹將spring cloud服務部署在華為云CAE中,CAE屏蔽了kubernetes中的許多概念,對于未上kubernetes但已容器化的客戶是一種明顯優勢。