直播平臺開發(fā),直播平臺的兩段鎖能帶來什么樣的加成
兩端鎖,很多直播平臺開發(fā)運營商陌生的東西,它是指所有的事務(wù)必須分成兩個階段對數(shù)據(jù)進行加鎖和解鎖操作,一般它存在于系統(tǒng)的后臺,不容易被發(fā)現(xiàn),也不會有人注意到,但是卻在事務(wù)調(diào)度上發(fā)揮了不小的作用,我們來看看直播平臺開發(fā)使用兩段鎖能有什么表現(xiàn)。
?

一、兩端鎖協(xié)議
既然要給事務(wù)分成兩段,那第一階段就是獲得封鎖,事務(wù)可以獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不能釋放;進入二階段后,開始進行釋放封鎖,事務(wù)可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但是不能申請??梢钥闯觯瑑蓚€階段把直播平臺開發(fā)的任務(wù)分配和執(zhí)行劃分的相當明確。
第一階段的封鎖,也被稱為擴展階段,這個階段需要進行加鎖操作,對任何視距進行讀取操作之前都要先申請獲取S鎖,在進行寫操作之前要申請并獲得X鎖,如果加鎖失敗,則事務(wù)進入等待階段,一直到加鎖成功,這無疑會降低直播平臺開發(fā)請求執(zhí)行的時間。
第二階段釋放,也稱為收縮階段,事務(wù)被釋放一個封鎖后,事務(wù)進入封鎖階段,該階段只能解鎖不能加鎖。
?

二、兩端鎖給事務(wù)處理帶來的加成
在直播平臺開發(fā)事務(wù)處理上,兩端鎖協(xié)議有自己的優(yōu)勢:
1、可串行,在直播平臺開發(fā)面對高并發(fā)情況時,任務(wù)一個個加鎖可太慢了,串行階段下,多個事務(wù)串行調(diào)度,保證執(zhí)行結(jié)果的一致,能大大提高平臺的響應(yīng)速度,但串行調(diào)度限制了系統(tǒng)并行的發(fā)揮,而且有些并行調(diào)度不具有串行調(diào)度的結(jié)果
2、兩端鎖獨有的協(xié)議,對任何數(shù)據(jù)進行讀、寫操作,首先要申請并獲得該數(shù)據(jù)的封鎖;直播平臺開發(fā)在釋放封鎖后,事務(wù)不能在申請獲得其他任何的鎖
這也就是回到了開始我們說的封鎖和釋放上,只是執(zhí)行的會更簡單,沒有那么復雜而已。
?

兩端鎖的應(yīng)用范圍很窄,對于直播平臺開發(fā)來說,可能會用不到,但是不能忽視它可以帶來的效果,所以平臺需要根據(jù)自己的需求判斷是否真的會用到該協(xié)議。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責任