直播平臺(tái)開發(fā),被忽略的異步通信和同步通信特點(diǎn)
直播平臺(tái)開發(fā)在支持同步通訊的同時(shí),提供了基于消息隊(duì)列儲(chǔ)存、轉(zhuǎn)發(fā)機(jī)制的異步通訊模式,應(yīng)用程序只能將消息交給MQ,由MQ負(fù)責(zé)將消息安全、可靠的發(fā)送出去,不再需要應(yīng)用和人工干預(yù),真正實(shí)現(xiàn)了數(shù)據(jù)傳輸自動(dòng)化,這一特點(diǎn)能夠讓直播平臺(tái)開發(fā)的應(yīng)用程序獨(dú)立于通信對(duì)方和網(wǎng)絡(luò)的可用性。
?

一、異步通信模式的特點(diǎn)
1、通信的達(dá)成只依賴于發(fā)送方和消息中間件,接收方以及網(wǎng)絡(luò)的意外情況不造成影響
2、因?yàn)椴槐貙?shí)現(xiàn)同步握手,異步通信通常效率更高
3、因?yàn)椴槐氐却憫?yīng),異步通信傾向于實(shí)現(xiàn)更短的交易處理,節(jié)省系統(tǒng)資源占用
4、異步通信有利于提高系統(tǒng)并發(fā)度,提高系統(tǒng)吞吐能力
5、有利于實(shí)現(xiàn)直播平臺(tái)開發(fā)松散耦合的系統(tǒng)結(jié)構(gòu)
?

二、同步通訊
與異步通信相比,同步通信想法更為簡(jiǎn)單且容易實(shí)現(xiàn),發(fā)起方在系統(tǒng)中等待直到對(duì)方響應(yīng),這樣可以避免復(fù)雜的發(fā)送、確認(rèn)、重傳機(jī)制的設(shè)計(jì),但同時(shí)也造成了低效率和對(duì)資源占用大的缺點(diǎn),不過(guò)從成本方面來(lái)說(shuō),同步通信價(jià)格低,很適合直播平臺(tái)開發(fā)使用。
不過(guò)同步和異步都是底層消息傳輸?shù)哪J剑Z(yǔ)氣最終提供的服務(wù)模式無(wú)關(guān),同步業(yè)務(wù)服務(wù)可以通過(guò)同步通信實(shí)現(xiàn),也可以通過(guò)異步通信實(shí)現(xiàn),這就是我們常見常用的通訊模式了,包括直播平臺(tái)開發(fā)的系統(tǒng)通知等。
?

三、異步實(shí)現(xiàn)同步的設(shè)計(jì)
由于同步/異步通信都有各自的特點(diǎn),所以通過(guò)異步通信來(lái)實(shí)現(xiàn)同步應(yīng)用時(shí),有一些特殊的方法需要考慮,比如如何在直播平臺(tái)開發(fā)的異步通信上實(shí)現(xiàn)同步應(yīng)用,是通過(guò)若干異步消息分段實(shí)現(xiàn)的,這種模式下,應(yīng)用中的UOW的范圍,和同步應(yīng)用下所有很大不同的,應(yīng)用設(shè)計(jì)中要充分考慮到這種區(qū)別。
由于交易的一致性控制,直播平臺(tái)開發(fā)的一個(gè)MQ應(yīng)用中在隊(duì)列中進(jìn)行改變,這樣其他應(yīng)用程序才能看到,所以在進(jìn)行請(qǐng)求/應(yīng)答模式時(shí),MQ應(yīng)用程序中請(qǐng)求程序發(fā)送請(qǐng)求消息后,要找合適的位置下COMMIT。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任