應(yīng)用容器化改造有三種方式,您可單擊這里查看。本教程以某游戲?yàn)槔?,將該游戲進(jìn)行微服務(wù)的架構(gòu)改造,再進(jìn)行容器化。
本教程不對(duì)改造細(xì)節(jié)做深度講解,僅講解大致的建議。如需要詳細(xì)了解容器化改造的過程,請(qǐng)單擊服務(wù)咨詢。
說明:
本章節(jié)主要講解游戲架構(gòu)改造的建議,不需要用戶實(shí)際操作。若需要實(shí)際操作,請(qǐng)直接進(jìn)入分析游戲應(yīng)用章節(jié)。
容器化改造建議
游戲demo原有架構(gòu)如下:
圖1游戲原架構(gòu)
從圖1可以看出:
游戲包含三個(gè)組件:wow-auth登錄認(rèn)證系統(tǒng)、wow-world游戲服務(wù)器、mysql數(shù)據(jù)庫(kù)。
一臺(tái)虛機(jī)安裝了wow-auth登錄認(rèn)證系統(tǒng)及其依賴;兩臺(tái)或多臺(tái)虛擬機(jī)安裝mysql數(shù)據(jù)庫(kù)及其依賴;三臺(tái)或多臺(tái)虛機(jī)安裝wow-world游戲服務(wù)器及其依賴。在當(dāng)前的架構(gòu)下,如果有多個(gè)游戲服,需要多臺(tái)虛機(jī)來安裝。這就引發(fā)了這個(gè)架構(gòu)帶來的關(guān)鍵問題:部署重,需要準(zhǔn)備多臺(tái)虛擬機(jī),并為每個(gè)虛擬機(jī)裝上不同組件所需的依賴包。
擴(kuò)展差,伸縮困難,維護(hù)成本高:新增服務(wù)器時(shí),需增加新的虛擬機(jī),再安裝游戲服。且多臺(tái)虛擬機(jī)維護(hù)十分復(fù)雜。
升級(jí)困難:每次升級(jí)需要多臺(tái)虛擬機(jī)逐臺(tái)配置升級(jí),耗時(shí)久且容易出錯(cuò)。
針對(duì)該游戲架構(gòu),建議做如下修改:
圖2游戲新架構(gòu)
如圖2,將游戲的三個(gè)組件(wow-auth登錄認(rèn)證系統(tǒng)、wow-world游戲服務(wù)器、mysql數(shù)據(jù)庫(kù))分別容器化,部署在虛擬機(jī)中。實(shí)現(xiàn)如下優(yōu)勢(shì):
說明:
在本demo中,用了mysql作為數(shù)據(jù)庫(kù),并對(duì)mysql也做了容器化的改造。在真實(shí)商用時(shí),請(qǐng)根據(jù)自身業(yè)務(wù)選擇數(shù)據(jù)庫(kù)。
部署輕便:將游戲的三個(gè)組件分別制作為容器鏡像,并將鏡像上傳到容器鏡像倉(cāng)庫(kù)中。通過CCE云容器引擎可以直接基于該鏡像部署容器應(yīng)用。
擴(kuò)展性好,伸縮迅速:當(dāng)需要新增游戲服時(shí),再啟動(dòng)一個(gè)容器即可。容器可實(shí)現(xiàn)秒級(jí)啟動(dòng)。
升級(jí)方便:升級(jí)時(shí)更換鏡像即可快速升級(jí)。且CCE支持滾動(dòng)升級(jí),在升級(jí)時(shí)無需中斷業(yè)務(wù)。