短視頻源碼,實(shí)現(xiàn)平滑擴(kuò)容的幾種常用方式
通常服務(wù)器的搭建數(shù)量是隨著業(yè)務(wù)水平的變化而改變的,在短視頻源碼發(fā)展初期業(yè)務(wù)水平不高所以搭建的服務(wù)器也不多,但隨著短視頻源碼的發(fā)展,業(yè)務(wù)水平越來越高,所需服務(wù)器也在不斷增加,在增加服務(wù)器時(shí),應(yīng)該如何實(shí)現(xiàn)平滑地?cái)U(kuò)容呢?

一、停機(jī)方案
停機(jī)方案在執(zhí)行時(shí)會(huì)直接停止提供服務(wù),對(duì)用戶體驗(yàn)的影響是非常直接的。具體執(zhí)行步驟如下:
1、提前發(fā)布公告,告知短視頻源碼服務(wù)器需要進(jìn)行升級(jí)。
2、關(guān)閉服務(wù)器,停止所有對(duì)外服務(wù)。
3、將短視頻源碼中的數(shù)據(jù)按照服務(wù)器層的算法進(jìn)行拆分,并重新分配。
4、將舊庫和新庫中的數(shù)據(jù)進(jìn)行校驗(yàn)比對(duì)。
5、修改服務(wù)層的配置算法。
6、重啟服務(wù)器,恢復(fù)所有對(duì)外服務(wù)。
為保證各個(gè)環(huán)節(jié)的順利進(jìn)行,需要在短視頻源碼開發(fā)中實(shí)現(xiàn)回滾預(yù)案,如果某一環(huán)節(jié)的執(zhí)行出現(xiàn)問題則立即回滾。由于該方案對(duì)用戶使用體驗(yàn)的影響較大,所以需要在提前告知的時(shí)間內(nèi)完成。

二、停寫方案
在短視頻源碼開發(fā)中數(shù)據(jù)庫是有讀和寫功能的,為了提升系統(tǒng)性能讀寫通常是分離的,因此實(shí)現(xiàn)平滑擴(kuò)容還可以利用停寫方案。具體執(zhí)行步驟如下:
1、向用戶發(fā)布服務(wù)升級(jí)公告。
2、關(guān)閉短視頻源碼中的寫功能,數(shù)據(jù)庫保持在只讀狀態(tài)。
3、攔截服務(wù)器層接收的寫請(qǐng)求,均返回服務(wù)器正在升級(jí)中的提示信息。
4、將短視頻源碼中的數(shù)據(jù)按照服務(wù)器層的算法進(jìn)行拆分、分配等處理。
5、備份舊庫中的數(shù)據(jù),并利用備份數(shù)據(jù)與重新分配后的數(shù)據(jù)進(jìn)行校驗(yàn)比對(duì)。
6、修改服務(wù)器層的配置算法。
7、恢復(fù)數(shù)據(jù)庫的讀寫功能,去除服務(wù)器層的攔截提示。
8、刪除冗余數(shù)據(jù)。
在停寫方案中也需要實(shí)現(xiàn)回滾預(yù)案,保證某一環(huán)節(jié)執(zhí)行失敗后可快速重來。在短視頻源碼中使用該方案停寫的時(shí)間比較長,在擴(kuò)容過程中數(shù)據(jù)需要復(fù)制,在擴(kuò)容完成后還需要將冗余數(shù)據(jù)清理掉,過程較為繁雜。

所謂的平滑擴(kuò)容就是在擴(kuò)容過程中盡可能降低對(duì)用戶使用體驗(yàn)的影響。短視頻源碼實(shí)現(xiàn)平滑擴(kuò)容除了上述的兩種方案外,還有日志方案、雙寫方案、平滑2N方案等,我們需要結(jié)合實(shí)際的擴(kuò)容情況和數(shù)據(jù)量規(guī)模進(jìn)行方案的選擇。
聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者名及原文鏈接,否則視為侵權(quán)