陪玩平臺源碼,如何確保消息可靠傳遞?
在陪玩平臺源碼開發(fā)中通常會利用消息隊(duì)列以達(dá)到消息可靠傳遞的目的,尤其是在遇到網(wǎng)絡(luò)中斷或硬件故障等情況下,消息隊(duì)列仍能保持較好的使用效果,當(dāng)然這也需要開發(fā)者能夠正確使用和配置消息隊(duì)列。

一、消息的傳遞階段
通常陪玩平臺源碼中的消息從生產(chǎn)到消費(fèi)完成需要經(jīng)歷三個(gè)階段,分別是生產(chǎn)階段、存儲階段和消費(fèi)階段。
1、生產(chǎn)階段
在生產(chǎn)階段中,消息由陪玩平臺源碼的生產(chǎn)者生產(chǎn)并經(jīng)由網(wǎng)絡(luò)傳輸?shù)椒?wù)端,而消息隊(duì)列則需要通過請求-確認(rèn)機(jī)制來保證消息的可靠性。所謂的請求-確認(rèn)機(jī)制是指消息在傳輸?shù)椒?wù)端之后,服務(wù)端需要返回一個(gè)確認(rèn)響應(yīng),以保證消息可靠送達(dá)。
2、存儲階段
消息在經(jīng)由網(wǎng)絡(luò)傳輸?shù)椒?wù)端之后,服務(wù)端會將消息存儲起來并等待被消費(fèi)。在該階段下消息是否存在被丟失的可能,是由陪玩平臺源碼的服務(wù)端是否正常運(yùn)行決定的,為了保證服務(wù)端的正常運(yùn)行,需要配置好服務(wù)端的參數(shù),或?qū)崿F(xiàn)多節(jié)點(diǎn)的集群部署。
3、消費(fèi)階段
所謂的消費(fèi)階段是指消費(fèi)者從服務(wù)端中拉取消息,并經(jīng)由網(wǎng)絡(luò)傳輸?shù)较M(fèi)者端,在該階段中消息隊(duì)列同樣采取了請求-確認(rèn)機(jī)制,以此來保證消息的可靠傳遞,陪玩平臺源碼的消費(fèi)端只有在確定成功獲取消息并執(zhí)行完所有消費(fèi)業(yè)務(wù)邏輯后,才能向服務(wù)端發(fā)送確認(rèn)響應(yīng)。

二、檢測消息是否丟失的方法
在陪玩平臺源碼中通常是根據(jù)項(xiàng)目的成熟度來確定選擇哪種檢測消息是否丟失的方式,常用的檢測方法有兩種:
1、基于較完善項(xiàng)目的檢測方法
主要是使用分布式鏈路追蹤的系統(tǒng)來追蹤每一條消息,來檢測消息是否丟失。
2、基于初期項(xiàng)目的檢測方法
主要是使用消息隊(duì)列的有序性來檢測消息是否丟失,具體實(shí)現(xiàn)方式是在生產(chǎn)端發(fā)出的每一條消息上增加一個(gè)連續(xù)遞增的序號,如果消費(fèi)端檢測該序號是連續(xù)的,則證明消息未丟失,如果序號不連續(xù),則證明消息丟失,而且還可以通過序號來確定丟失的是哪一條消息。

在陪玩平臺源碼中涉及很多消息的傳遞,像用戶之間,平臺和用戶之間等,只有在正確使用消息隊(duì)列確保消息可靠傳遞后,才能讓用戶獲得更好的使用體驗(yàn)。
聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請注明作者名及原文鏈接,否則視為侵權(quán)