直播系統(tǒng)代碼,分布式怎么做到任務(wù)的一致性
分布式部署與負(fù)載均衡不同,直播系統(tǒng)代碼用分布式部署只需要一臺服務(wù)器就可以完成,在接收到用戶的請求后,根據(jù)當(dāng)前服務(wù)器劃分的幾個模塊,進(jìn)行各個模塊的功能同時進(jìn)行,統(tǒng)一的時間內(nèi)各個模塊協(xié)作完成用戶的請求。由于模塊劃分的不同,也出現(xiàn)了新的問題,如何做到直播系統(tǒng)代碼分布式部署時能讓各個模塊協(xié)調(diào)一致,并行處理好用戶請求。
?

一、分布式系統(tǒng)的特點(diǎn)
1、服務(wù)器的對等性。正常來說直播系統(tǒng)代碼擁有一個主服務(wù)器,負(fù)責(zé)完成服務(wù)器的任務(wù)分配,作為主要服務(wù)器來執(zhí)行各種最大權(quán)限任務(wù),但在分布式系統(tǒng)中,服務(wù)器之間沒有差異,各個節(jié)點(diǎn)之間都是對等的,對等性的好處在于能有效保證服務(wù)器數(shù)據(jù)的安全,根據(jù)副本處理技術(shù)的標(biāo)準(zhǔn),每個節(jié)點(diǎn)上都會儲存一份數(shù)據(jù),并可以讀取這份數(shù)據(jù),當(dāng)某個節(jié)點(diǎn)的數(shù)據(jù)丟失時,能夠在其他節(jié)點(diǎn)繼續(xù)獲取到這份數(shù)據(jù)。
2、并發(fā)性。直播系統(tǒng)代碼的各個節(jié)點(diǎn)是并行共享的,不存在某個節(jié)點(diǎn)可以單獨(dú)行動或者獨(dú)占數(shù)據(jù)的情況,好處就在于可以實(shí)現(xiàn)節(jié)點(diǎn)的并發(fā)處理,并發(fā)處理上的好處可以同時實(shí)現(xiàn)多個用戶的請求,高效處理成為分布式系統(tǒng)的最大優(yōu)點(diǎn)。
?

二、分布式的任務(wù)分配
想要保證各個模塊協(xié)調(diào),就要保證各個模塊的任務(wù)分配合理,被分配工作的有參與者、服務(wù)器、資源服務(wù)器以及管理服務(wù)器,一組被分配者組成一個集合,由他們來實(shí)現(xiàn)用戶的請求。不過由于涉及的直播系統(tǒng)代碼部分較多,也出現(xiàn)了難點(diǎn),就是在任務(wù)的一致性和可用性上要做一個取舍。
產(chǎn)生難點(diǎn)的原因在于直播系統(tǒng)代碼用戶的訪問時間不一致,需要系統(tǒng)24小時提供訪問服務(wù),那就需要這些分布式的小模塊要一致待命,這就降低了模塊的可用性,沒法在這個時間抽走分配者去干一些其他事情,所以直播系統(tǒng)代碼必須要在一致性和可用性上做一個取舍。
?

直播系統(tǒng)代碼的可用性一般會做為首要選擇,可用性決定了用戶能否在有限的時間里獲取到想要的信息,所以即使是降低了一致性,也要把用戶請求處理放到第一位。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任