直播系統(tǒng)搭建,引入什么能讓系統(tǒng)可用性更強(qiáng)
關(guān)于擴(kuò)展性上,直播系統(tǒng)搭建往往會(huì)選擇負(fù)載均衡器,負(fù)載均衡是直播系統(tǒng)不可缺少的一環(huán),在此基礎(chǔ)上做擴(kuò)展能節(jié)省不少事,但負(fù)載均衡器也有自己的缺點(diǎn),比如必須有會(huì)話保持這一項(xiàng),依靠回話保來糾正負(fù)載均衡器帶來的錯(cuò)誤部分,那么除了負(fù)載均衡器外,還有什么能快速增加擴(kuò)展性呢。
?

一、冗余
在直播系統(tǒng)搭建引入負(fù)載均衡器后,所有請求都要先經(jīng)過負(fù)載均衡器,負(fù)載均衡器就成為了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中脆弱的單點(diǎn),一旦發(fā)生故障,其相關(guān)的服務(wù)都無法訪問了,為了避免這種單點(diǎn)故障,可以引入冗余,一般這種情況有兩個(gè)故障轉(zhuǎn)移方案:
1、主動(dòng)-被動(dòng),主動(dòng)的工作,被動(dòng)的備用,主動(dòng)的down掉后被動(dòng)的頂上
2、主動(dòng)-主動(dòng),同時(shí)工作,一個(gè)down掉后不產(chǎn)生影響
理論上直播系統(tǒng)搭建可以通過可靠的負(fù)載均衡機(jī)制,將1臺(tái)服務(wù)器輕松擴(kuò)展到n臺(tái),然而,n臺(tái)服務(wù)器仍然使用同一數(shù)據(jù)庫的話,數(shù)據(jù)庫就會(huì)成為系統(tǒng)性能和可靠性的瓶頸,畢竟數(shù)據(jù)庫也有自己的上限。
?

想要避免這種情況直播系統(tǒng)搭建同樣可以通過擴(kuò)展數(shù)據(jù)庫實(shí)現(xiàn),也就是引入冗余,同樣有兩種模式:
1、主從復(fù)制,主庫直接讀寫,從庫在主庫收到查詢時(shí),執(zhí)行相同的查詢,如果主庫down掉了,就在從庫里面提升一個(gè)作為主庫
2、主主復(fù)制,都可以寫,寫操作也會(huì)被復(fù)制到另一個(gè)庫中
?

二、緩存輔助
上面我們也說到,直播系統(tǒng)搭建可能會(huì)因?yàn)閿?shù)據(jù)庫上限影響到性能,那就通過緩存的應(yīng)用減輕數(shù)據(jù)庫壓力,盡可能減少數(shù)據(jù)庫操作,緩存模式一般用緩存查詢結(jié)果、緩存對象兩種方法。
緩存對象是指緩存根據(jù)原始數(shù)據(jù)組裝出的數(shù)據(jù)模型,優(yōu)勢在于直播系統(tǒng)搭建獲知數(shù)據(jù)變化之后,能夠丟棄與之具有邏輯關(guān)聯(lián)的數(shù)據(jù)對象,從而解決緩存過期難題。
三、異步處理
對于直播系統(tǒng)搭建web服務(wù)而言,提升可擴(kuò)展性的主要途徑就是將耗時(shí)的同步工作改成異步處理,從而允許將這些工作給更多的模塊去做,或者提前完成能夠預(yù)知的部分。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任