直播作為作為現下比較流行的應用很多平台應用和開發都相對比較成熟
因業務需要,我們在業務中采用騰訊雲作為服務提供商開發,但是上線初期發生了一些問題,在此把解決方法和思路記錄。
- 問題:
1.直播斷流無法續播
用戶在直播過程中因網絡抖動或者其他因素,導致騰訊回調將其標識為斷流狀態,但實際其並未斷流,還在繼續直播,但數據已經做了標識,導致直播列表不存在其直播間,新用戶無法進入,主播只能自嗨~~
2.直播過程中主播斷了,重新開播導致出現重復直播間的問題
直播上線初期采用 在線直播 和 歷史直播 分表存放的方式開發,思路 當騰訊回調斷流狀態時,將在線的直播移動到歷史直播,這樣新讀取的在線直播就不存在斷流直播,但實際操作中,用戶斷流了,但騰訊並未給出回調,所以導致主播重新開播直播間重復
- 問題分析:
1.用戶網絡是否流暢
因為公司網絡相對穩定,且測試無法長間進行,所以利用代理wifi調整網絡速度,排查各種情況的網絡,看會出現什么樣的情況
2.騰訊回調不是否穩定
在用戶網絡不穩定的情況下,多次測試,發現騰訊回調並不穩定,有時候斷流未回調,有時沒有按照順序回調,其發現騰訊有3次搶救機制
3.業務邏輯是否存在問題
通過以上問題分析思考業務邏輯是否存在問題,發現在線直播 和 歷史直播 分表存放,在搶救機制下無法快速響應,且騰訊回調不穩定的情況下會出現不必要的問題
- 解決方法:
1.服務器端不完全依賴騰訊回調作為開播和停播的主要判斷,修改為判斷90s內更新過的直播間為在線狀態
2.棄用直播歷史記錄表,用直播記錄表承擔所有業務邏輯處理
3.90s內開播過的用戶將不能再次開播
4.APP主播端增加網絡信號狀況提示
作者:舊舊的 <393210556@qq.com> 解決問題的方式,就是解決它一次