業務場景
基于ServiceStage可以(yi)方便快(kuai)捷的將(jiang)微(wei)服務部(bu)署(shu)(shu)(shu)到容器(如CCE)、虛擬機(如ECS),同時支持(chi)源碼部(bu)署(shu)(shu)(shu)、jar/war包(bao)部(bu)署(shu)(shu)(shu)或docker鏡(jing)像包(bao)部(bu)署(shu)(shu)(shu)。同時,ServiceStage支持(chi) Java、PHP、Node.js、Go、Python多種(zhong)編程語(yu)言應用的完全托管,包(bao)括部(bu)署(shu)(shu)(shu)、升級、回滾、啟停和刪除等。
本實踐中(zhong)使用(yong)(yong)了(le)Java開發的后臺組件和(he)Node.js開發的前臺組件。您可(ke)以通(tong)過容(rong)器(qi)部署的方式部署應(ying)用(yong)(yong)并將微(wei)(wei)服務(wu)實例注冊到微(wei)(wei)服務(wu)引擎CSE中(zhong),weathermap應(ying)用(yong)(yong)需要(yao)創建以下組件:
前臺組件(jian):weathermapweb,基于Node.js語言開(kai)發的界(jie)面。
后(hou)臺組(zu)件:weather、forecast、fusionweather,基于Java語言開發(fa)。
創建并部署后臺應用組件
本實踐需要創(chuang)建3個應用組件,對應后臺(tai)構(gou)建任務生成的(de)3個軟件包:weather、forecast、fusionweather。
這里以weather包為例(li)介紹(shao)操(cao)作步(bu)驟,其(qi)余應用(yong)組件的(de)具體步(bu)驟不再詳述。
1、登錄ServiceStage控制臺,選(xuan)擇“應(ying)用管(guan)理(li) > 應(ying)用列(lie)表”。
2、單擊創(chuang)建應(ying)用(yong)時創(chuang)建的應(ying)用(yong)名(ming)稱(例如weathermap)“操作(zuo)”欄的“新增組件”。
3、“配置方式”選(xuan)(xuan)擇“自定(ding)義配置”,“選(xuan)(xuan)擇組件類(lei)型(xing)”選(xuan)(xuan)擇“微服務”,單擊“下(xia)一(yi)步”。
4、“選擇運(yun)行時”選擇“Docker”,單擊(ji)“下一步”。
5、“選(xuan)擇框架/服務網(wang)格(ge)”選(xuan)擇“選(xuan)擇“Java Chassis”, 組件(jian)信(xin)息欄中“組件(jian)名(ming)稱(cheng)”輸入weather。
6、單擊“創建并部署(shu)(shu)”,部署(shu)(shu)組件。
- “環境”:選擇創建環境時創建的環境(例如test-env)。
- “部署版本”:輸入1.0.0。
- “部署系統”:選擇“云容器引擎”。
- “實例數量”:設置為1。
- 其他參數使用默認。
7、單擊“下一步(bu) 組(zu)件配置(zhi)”,進行組(zu)件配置(zhi)。
- “鏡像”:單擊“選擇鏡像”,在“我的鏡像”頁簽搜索“weather”,選擇創建組織創建的組織名稱下的weather鏡像包及其版本號,單擊“確定”。
- “微服務引擎”:默認選擇創建環境時選擇的微服務引擎。
說明? 卸載應用組件部署以后,微服務會注冊到設置的微服務引擎。
? 所有應用組件需(xu)要注冊到同一個微服務(wu)引擎,才能互相發現。
8、設置環境變量。
展(zhan)開“高級設置 > 組件配(pei)置”,在(zai)“環(huan)境(jing)變量”欄,單擊“添加環(huan)境(jing)變量”,添加以下環(huan)境(jing)變量。
類型 變量名 變量/變量引用 手動添加 MOCK_ENABLED ??true:資源準備時創建的CCE集群中的ECS節點如果沒有綁定彈性公網IP或者不能訪問公網時,需設置該參數值為true。則應用所用到的天氣數據為模擬數據。
??false:資源準備時創建的CCE集群中的ECS節點如果已綁定彈性公網IP且能訪問公網時,需設置該參數值為false或者不設置該參數。則應用所用到的天氣數據為實時數據。servicecomb_credentials_accessKey 資源準備時獲取的AK。
說明:
??僅當使用微服務引擎專業版時需要配置。
??如果使用微服務引擎專享版,無需配置。servicecomb_credentials_secretKey 資源準備時獲取的SK。
說明:
??僅當使用微服務引擎專業版時需要配置。
??如果使用微服務引擎專享版,無需配置。
9、單擊“下一步 規格確(que)認”,確(que)認規格。
10、單擊(ji)“部(bu)署(shu)”,部(bu)署(shu)組(zu)件。
11、參(can)考以上步驟,依次創建并部署(shu)forecast和fusionweather組件,需要設置的參(can)數如下(xia)表所示。
組件名稱 選擇鏡像 環境變量 forecast forecast 變量名稱:MOCK_ENABLED
變量/變量引用:
??true:資源準備時創建的CCE集群中的ECS節點如果沒有綁定彈性公網IP或者不能訪問公網時,需設置該參數值為true。則應用所用到的天氣數據為模擬數據。
??false:資源準備時創建的CCE集群中的ECS節點如果已綁定彈性公網IP且能訪問公網時,需設置該參數值為false或者不設置該參數。則應用所用到的天氣數據為實時數據。變量名稱:servicecomb_credentials_accessKey 變(bian)(bian)量/變(bian)(bian)量引用:資(zi)源準備時(shi)獲取(qu)的AK。
變量名稱:servicecomb_credentials_secretKey
變量/變量引用:資源準備時獲取的SK。fusionweather fusionweather 變量名稱:servicecomb_credentials_accessKey
變量/變量引用:資源準備時獲取的AK。變量名稱:servicecomb_credentials_secretKey
變量/變量引用:資源準備時獲取的SK。
創建并部署前臺應用組件
1、登錄ServiceStage控制臺,選擇“應用管(guan)理(li) > 應用列表(biao)”。
2、單擊創建應用(yong)時創建的應用(yong)名稱(例如weathermap)“操作”欄的“新增組件”。
3、“配置方(fang)式”選(xuan)擇(ze)“自定義配置”,“選(xuan)擇(ze)組件類型(xing)”選(xuan)擇(ze)“微服務”,單擊“下一步”。
4、“選擇運行時”選擇“Docker”,單擊(ji)“下一步”。
5、“選擇框架/服務網格”選擇“選擇“Mesher”, 組件信(xin)息欄(lan)中“組件名稱”輸入(ru)weathermapweb。
6、單擊(ji)“創建并部(bu)署(shu)”,部(bu)署(shu)組(zu)件。
- “環境”:選擇創建環境時創建的環境(例如test-env)。
- “部署版本”:輸入1.0.0。
- “部署系統”:選擇“云容器引擎”。
- “實例數量”:設置為1。
- 其他參數使用默認。
7、單(dan)擊(ji)“下(xia)一步 組(zu)(zu)件配置”,進行組(zu)(zu)件配置。
- “鏡像”:單擊“選擇鏡像”,在“我的鏡像”頁簽搜索“weathermapweb”,選擇創建組織創建的組織名稱下的weathermapweb鏡像包及其版本號,單擊“確定”。
- “微服務引擎”:默認選擇創建環境時選擇的微服務引擎。
說明? 卸載應用組件部署以后,微服務會注冊到設置的微服務引擎。
? 所有應用組件需要注冊到同一個微服務引擎,才能互相發現。
8、單擊“下(xia)一步(bu) 規格(ge)確(que)(que)認(ren)(ren)”,確(que)(que)認(ren)(ren)規格(ge)。
9、單擊“部(bu)署”,部(bu)署組(zu)件。
確認部署結果
1、登(deng)錄ServiceStage控制臺,選擇(ze)“微服務(wu)引擎 CSE”。
2、步驟 2 選(xuan)(xuan)擇創建環境時選(xuan)(xuan)擇的微服務引(yin)擎,單擊“查(cha)看控制臺(tai)”。
3、選(xuan)(xuan)擇(ze)(ze)“服務(wu)目錄 > 微(wei)服務(wu)列表(biao)”,在“全部應用(yong)”下拉列表(biao)中(zhong)選(xuan)(xuan)擇(ze)(ze)創建應用(yong)時創建的應用(yong)名稱(例(li)如weathermap)。
如果(guo)存在如下已(yi)部(bu)署(shu)的微(wei)服(fu)務,且各(ge)微(wei)服(fu)務實例數不為(wei)0,則部(bu)署(shu)成功。
? forecast
? fusionweather
? weather
? weathermapweb
添加訪問方式
1、登錄(lu)ServiceStage控(kong)制臺,選擇“應用管(guan)理 > 應用列表”。
2、單擊創建(jian)應用時創建(jian)的應用名稱(例如weathermap),進入應用“概覽(lan)”頁。
3、在(zai)“環境(jing)視圖”頁(ye)簽,“環境(jing)”選擇創建(jian)環境(jing)時創建(jian)的(de)(de)環境(jing)(例如test-env),查看已(yi)經部署的(de)(de)應用組件。
4、單擊weathermapweb應用(yong)組件名稱,進入(ru)“概(gai)覽(lan)”頁面。
5、單擊“訪(fang)問(wen)方式”。
6、單擊“TCP/UDP路由配置”區域(yu)的“添加服務”,設置以下參數:
- 服務名稱:填寫weathermapweb。
- 訪問方式:選擇“公網訪問”。
- 訪問類型:選擇“彈性IP”。
- 服務親和:選擇默認設置。
- 協議:選擇TCP。
- 容器端口:填寫3000。
- 訪問端口:選擇“自動生成”。
7、單擊“確定”,生成訪問地址。
訪問應用
1、登(deng)錄(lu)登(deng)錄(lu)ServiceStage控制臺,選擇“應用管(guan)理 > 應用列表”。
2、單擊創建應用時創建的應用名稱(例(li)如weathermap),進(jin)入應用“概覽”頁。
3、在(zai)“環(huan)境視(shi)圖”頁簽,“環(huan)境”選擇(ze)創建環(huan)境時創建的環(huan)境(例如test-env),查看已經部署的應(ying)用(yong)組件(jian)。
4、選擇weathermapweb應用組件,單擊“外部訪問地址”后的復制應用訪問地址。
5、在瀏覽器中粘貼應用訪問(wen)地(di)址(zhi),出現以下頁面表(biao)明應用部署成功。
注意首次訪問應用時,weather系統就緒需要一段時間。如果如上圖所示頁面沒有出現,請持續刷新頁面。