業務場景
基于ServiceStage可以方便快捷的將微服務部署到容器(如CCE)、虛擬機(如ECS),同時支持源碼部署、jar/war包部署或docker鏡像包部署。同時,ServiceStage支持 Java、PHP、Node.js、Go、Python多種編程語言應用的完全托管,包括部署、升級、回滾、啟停和刪除等。
本實踐中使用了Java開發的后臺組件和Node.js開發的前臺組件。您可以通過容器部署的方式部署應用并將微服務實例注冊到微服務引擎CSE中,weathermap應用需要創建以下組件:
前臺組件:weathermapweb,基于Node.js語言開發的界面。
后臺組件:weather、forecast、fusionweather,基于Java語言開發。
創建并部署后臺應用組件
本實踐需要創建3個應用組件,對應后臺構建任務生成的3個軟件包:weather、forecast、fusionweather。
這里以weather包為例介紹操作步驟,其余應用組件的具體步驟不再詳述。
1、登錄ServiceStage控制臺,選擇“應用管理 > 應用列表”。
2、單擊創建應用時創建的應用名稱(例如weathermap)“操作”欄的“新增組件”。
3、“配置方式”選擇“自定義配置”,“選擇組件類型”選擇“微服務”,單擊“下一步”。

4、“選擇運行時”選擇“Docker”,單擊“下一步”。
5、“選擇框架/服務網格”選擇“選擇“Java Chassis”, 組件信息欄中“組件名稱”輸入weather。
6、單擊“創建并部署”,部署組件。
- “環境”:選擇創建環境時創建的環境(例如test-env)。
- “部署版本”:輸入1.0.0。
- “部署系統”:選擇“云容器引擎”。
- “實例數量”:設置為1。
- 其他參數使用默認。


7、單擊“下一步 組件配置”,進行組件配置。
- “鏡像”:單擊“選擇鏡像”,在“我的鏡像”頁簽搜索“weather”,選擇創建組織創建的組織名稱下的weather鏡像包及其版本號,單擊“確定”。
- “微服務引擎”:默認選擇創建環境時選擇的微服務引擎。

說明? 卸載應用組件部署以后,微服務會注冊到設置的微服務引擎。
? 所有應用組件需要注冊到同一個微服務引擎,才能互相發現。
8、設置環境變量。
展開“高級設置 > 組件配置”,在“環境變量”欄,單擊“添加環境變量”,添加以下環境變量。
類型 變量名 變量/變量引用 手動添加 MOCK_ENABLED ??true:資源準備時創建的CCE集群中的ECS節點如果沒有綁定彈性公網IP或者不能訪問公網時,需設置該參數值為true。則應用所用到的天氣數據為模擬數據。
??false:資源準備時創建的CCE集群中的ECS節點如果已綁定彈性公網IP且能訪問公網時,需設置該參數值為false或者不設置該參數。則應用所用到的天氣數據為實時數據。servicecomb_credentials_accessKey 資源準備時獲取的AK。
說明:
??僅當使用微服務引擎專業版時需要配置。
??如果使用微服務引擎專享版,無需配置。servicecomb_credentials_secretKey 資源準備時獲取的SK。
說明:
??僅當使用微服務引擎專業版時需要配置。
??如果使用微服務引擎專享版,無需配置。
9、單擊“下一步 規格確認”,確認規格。
10、單擊“部署”,部署組件。
11、參考以上步驟,依次創建并部署forecast和fusionweather組件,需要設置的參數如下表所示。
組件名稱 選擇鏡像 環境變量 forecast forecast 變量名稱:MOCK_ENABLED
變量/變量引用:
??true:資源準備時創建的CCE集群中的ECS節點如果沒有綁定彈性公網IP或者不能訪問公網時,需設置該參數值為true。則應用所用到的天氣數據為模擬數據。
??false:資源準備時創建的CCE集群中的ECS節點如果已綁定彈性公網IP且能訪問公網時,需設置該參數值為false或者不設置該參數。則應用所用到的天氣數據為實時數據。變量名稱:servicecomb_credentials_accessKey 變量/變量引用:資源準備時獲取的AK。
變量名稱:servicecomb_credentials_secretKey
變量/變量引用:資源準備時獲取的SK。fusionweather fusionweather 變量名稱:servicecomb_credentials_accessKey
變量/變量引用:資源準備時獲取的AK。變量名稱:servicecomb_credentials_secretKey
變量/變量引用:資源準備時獲取的SK。
創建并部署前臺應用組件
1、登錄ServiceStage控制臺,選擇“應用管理 > 應用列表”。
2、單擊創建應用時創建的應用名稱(例如weathermap)“操作”欄的“新增組件”。
3、“配置方式”選擇“自定義配置”,“選擇組件類型”選擇“微服務”,單擊“下一步”。

4、“選擇運行時”選擇“Docker”,單擊“下一步”。
5、“選擇框架/服務網格”選擇“選擇“Mesher”, 組件信息欄中“組件名稱”輸入weathermapweb。
6、單擊“創建并部署”,部署組件。
- “環境”:選擇創建環境時創建的環境(例如test-env)。
- “部署版本”:輸入1.0.0。
- “部署系統”:選擇“云容器引擎”。
- “實例數量”:設置為1。
- 其他參數使用默認。


7、單擊“下一步 組件配置”,進行組件配置。
- “鏡像”:單擊“選擇鏡像”,在“我的鏡像”頁簽搜索“weathermapweb”,選擇創建組織創建的組織名稱下的weathermapweb鏡像包及其版本號,單擊“確定”。
- “微服務引擎”:默認選擇創建環境時選擇的微服務引擎。

說明? 卸載應用組件部署以后,微服務會注冊到設置的微服務引擎。
? 所有應用組件需要注冊到同一個微服務引擎,才能互相發現。
8、單擊“下一步 規格確認”,確認規格。
9、單擊“部署”,部署組件。
確認部署結果
1、登錄ServiceStage控制臺,選擇“微服務引擎 CSE”。
2、步驟 2 選擇創建環境時選擇的微服務引擎,單擊“查看控制臺”。

3、選擇“服務目錄 > 微服務列表”,在“全部應用”下拉列表中選擇創建應用時創建的應用名稱(例如weathermap)。
如果存在如下已部署的微服務,且各微服務實例數不為0,則部署成功。
? forecast
? fusionweather
? weather
? weathermapweb

添加訪問方式
1、登錄ServiceStage控制臺,選擇“應用管理 > 應用列表”。
2、單擊創建應用時創建的應用名稱(例如weathermap),進入應用“概覽”頁。
3、在“環境視圖”頁簽,“環境”選擇創建環境時創建的環境(例如test-env),查看已經部署的應用組件。
4、單擊weathermapweb應用組件名稱,進入“概覽”頁面。
5、單擊“訪問方式”。
6、單擊“TCP/UDP路由配置”區域的“添加服務”,設置以下參數:
- 服務名稱:填寫weathermapweb。
- 訪問方式:選擇“公網訪問”。
- 訪問類型:選擇“彈性IP”。
- 服務親和:選擇默認設置。
- 協議:選擇TCP。
- 容器端口:填寫3000。
- 訪問端口:選擇“自動生成”。
7、單擊“確定”,生成訪問地址。
訪問應用
1、登錄登錄ServiceStage控制臺,選擇“應用管理 > 應用列表”。
2、單擊創建應用時創建的應用名稱(例如weathermap),進入應用“概覽”頁。
3、在“環境視圖”頁簽,“環境”選擇創建環境時創建的環境(例如test-env),查看已經部署的應用組件。
4、選擇weathermapweb應用組件,單擊“外部訪問地址”后的
復制應用訪問地址。

5、在瀏覽器中粘貼應用訪問地址,出現以下頁面表明應用部署成功。

注意首次訪問應用時,weather系統就緒需要一段時間。如果如上圖所示頁面沒有出現,請持續刷新頁面。