實(shí)時(shí)遷移
實(shí)時(shí)遷移指的是在保持服務(wù)在線的前提下在不同物理主機(jī)和云服務(wù)提供商之間完成應(yīng)用的遷移。借助實(shí)時(shí)遷移技術(shù)裸機(jī)服務(wù)器上運(yùn)行的容器可以在不下線的情況下將內(nèi)存、文件和網(wǎng)絡(luò)連結(jié)性從一臺(tái)服務(wù)器遷移到另一臺(tái)服務(wù)器。
實(shí)時(shí)遷移技術(shù)解決的問題主要有三:
硬件維護(hù)時(shí)需要停止服務(wù)
集群負(fù)載不均
與單一云服務(wù)提供商的過度捆綁依賴
遷移過程
下面我們來看看實(shí)時(shí)遷移的過程。
這里源節(jié)點(diǎn)(Source Node)指遷移之前容器所在的服務(wù)器。
目標(biāo)節(jié)點(diǎn)(Destination Node)顧名思義指遷移的目標(biāo)服務(wù)器。
遷移過程分為四個(gè)步驟:
暫停源節(jié)點(diǎn),記錄內(nèi)存、進(jìn)程、文件系統(tǒng)和網(wǎng)絡(luò)連接狀態(tài)。
將所記錄的內(nèi)容復(fù)制到目標(biāo)節(jié)點(diǎn)。
將容器在目標(biāo)節(jié)點(diǎn)恢復(fù)并繼續(xù)運(yùn)行。
清理源節(jié)點(diǎn)。
雖然實(shí)時(shí)遷移不需要停止服務(wù),但5至30秒的暫停時(shí)間不可能完全避免,所以在設(shè)計(jì)應(yīng)用時(shí)需要考慮到這一點(diǎn)。
根據(jù)內(nèi)存同步時(shí)間的不同存在兩種實(shí)時(shí)遷移的方案,具體的區(qū)別可以參考這篇文章。
容器實(shí)時(shí)遷移的四個(gè)用例
硬件維護(hù)-實(shí)時(shí)遷移技術(shù)可以將動(dòng)輒數(shù)個(gè)小時(shí)的停機(jī)時(shí)間縮短到半分鐘以內(nèi),因此可以大大提高硬件維護(hù)時(shí)的服務(wù)可用性。
負(fù)載均衡-實(shí)時(shí)遷移可以在不影響服務(wù)的前提下實(shí)現(xiàn)負(fù)載均衡,也可以通過一定算法來實(shí)現(xiàn)負(fù)載均衡的自動(dòng)觸發(fā)。
提高可用性-云服務(wù)的可用區(qū)是由云服務(wù)提供商所指定的。如果在不同可用區(qū)和地區(qū)之間能夠隨意進(jìn)行遷移的話將能提高服務(wù)的可用性。
更改服務(wù)提供商-借助實(shí)時(shí)遷移用戶可以減輕對某個(gè)云服務(wù)提供商的過度捆綁。隨著對云服務(wù)的使用,對服務(wù)提供商的依賴會(huì)增加,因?yàn)閷Y源和應(yīng)用重新配置部署所需要的花費(fèi)會(huì)跟著增長,而實(shí)時(shí)遷移極大地簡化了更換云服務(wù)提供商所需要的工作量和時(shí)間。
小結(jié)
容器實(shí)時(shí)遷移對商業(yè)和運(yùn)營團(tuán)隊(duì)所帶來的好處不可勝數(shù)。它不僅減少了對服務(wù)的干擾和對運(yùn)營團(tuán)隊(duì)的壓力,更為運(yùn)營自動(dòng)化和優(yōu)化的進(jìn)一步發(fā)展打開了新的局面。