直播APP開發(fā),多集群是怎么處理直播請(qǐng)求的
直播APP開發(fā)會(huì)使用CDN來加速直播內(nèi)容的傳輸速度,還會(huì)通過增加服務(wù)器數(shù)量,通過集群的方式增加請(qǐng)求處理速度,但從工作原理上該如何去理解它呢?我們來看一下多集群是如何分布處理直播APP開發(fā)收到的請(qǐng)求的。
?

一、單服務(wù)器
當(dāng)直播APP開發(fā)使用單個(gè)服務(wù)器時(shí),處理方式會(huì)變的單一起來,首先是通過CDN加速,最簡(jiǎn)單直接的方式,也是使用成本最低的方式。其次是通過負(fù)載均衡,將服務(wù)器劃分成一個(gè)個(gè)小的模塊,每個(gè)模塊負(fù)責(zé)一部分功能響應(yīng),在用戶發(fā)送來請(qǐng)求時(shí),各個(gè)模塊共同協(xié)作完成用戶的請(qǐng)求,這么做的好處在于能提高服務(wù)器同時(shí)處理的請(qǐng)求數(shù)量,但壞處也很明顯,有一個(gè)模塊出現(xiàn)問題,整個(gè)服務(wù)器都會(huì)崩潰。
?

二、多個(gè)服務(wù)器
當(dāng)直播APP開發(fā)可用的服務(wù)器多起來后能選擇的方式就多起來了,除了上面兩種方式外,還可以使用分布式部署。
分布式部署的使用前提是直播平臺(tái)擁有多臺(tái)服務(wù)器,將服務(wù)器放置在不同的地方,比如A省放置1號(hào)服務(wù)器,那么A省直播APP開發(fā)用戶的請(qǐng)求都會(huì)集中到1號(hào)服務(wù)器上,不回再經(jīng)過主服務(wù)器進(jìn)行處理,大大降低主服務(wù)器的壓力。
分部式部署能和CDN一樣,縮短物理距離帶來的傳輸延遲,也能實(shí)現(xiàn)單個(gè)服務(wù)器響直播APP開發(fā)用戶請(qǐng)求的要求,優(yōu)點(diǎn)很多,但由于服務(wù)器數(shù)量要求,讓很多直播平臺(tái)都無法選擇。
?

不過不論是單服務(wù)器還是多服務(wù)器,服務(wù)器之間的協(xié)作和請(qǐng)求記錄也很重要,以分布式部署來說,直播APP開發(fā)的主服務(wù)器負(fù)責(zé)記錄所有的用戶請(qǐng)求,但用戶的請(qǐng)求并沒有直接經(jīng)過主服務(wù)器,那么子服務(wù)器就要邊響應(yīng)邊向主服務(wù)器反饋這次記錄,同時(shí)再調(diào)取可能用到的用戶請(qǐng)求。看似主服務(wù)器在閑置實(shí)際上在不斷的進(jìn)行請(qǐng)求的記錄,并且反饋給子服務(wù)器他們需要用到的信息,服務(wù)器的問題很復(fù)雜,對(duì)于外行人來說很難短時(shí)間內(nèi)搞清楚,建議在進(jìn)行直播APP開發(fā)時(shí),找專業(yè)的開發(fā)團(tuán)隊(duì)合作尋求建議,能起到更好的效果。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任