已采納回答 / 風(fēng)中利劍
MQTT適用于網(wǎng)絡(luò)不穩(wěn)定、低帶寬、高延遲環(huán)境下的信息傳輸,一般應(yīng)用于物聯(lián)網(wǎng)場(chǎng)景中的安卓設(shè)備和服務(wù)器之間的連接,它是一個(gè)發(fā)布/訂閱系統(tǒng),相比較websocket是有延遲的,而且對(duì)于websocket來說,天然對(duì)瀏覽器友好
2019-05-30
已采納回答 / 小魚兒老師
golang的channel資源是可以自動(dòng)GC掉的,但也不要誤認(rèn)為所有的資源你都不需要主動(dòng)釋放,例如打開的文件或者連接,還是需要主動(dòng)關(guān)閉底層資源的。
2018-10-28
已采納回答 / 小魚兒老師
目前沒有后續(xù)websocket的實(shí)戰(zhàn)課程,同學(xué)可以嘗試讀一下我開源的精簡(jiǎn)版源碼,看一下是否對(duì)你有幫助:https://github.com/owenliang/go-push。10月份初會(huì)發(fā)布一門分布式系統(tǒng)實(shí)戰(zhàn)項(xiàng)目,同學(xué)可以關(guān)注一下。
2018-09-20
講師回答 / 小魚兒老師
因?yàn)閙utex可以控制鎖的范圍(scope),實(shí)現(xiàn)多個(gè)語句的原子化,這個(gè)不是一個(gè)線程安全map可以搞定滴~
2018-08-21
講師回答 / 小魚兒老師
????HI同學(xué),向單個(gè)用戶推送不建議廣播gateway。會(huì)話層????這個(gè)架構(gòu)需要繼續(xù)演進(jìn),允許長(zhǎng)連接認(rèn)證(auth),這樣每個(gè)長(zhǎng)連接就對(duì)應(yīng)一個(gè)用戶ID(uid)。????當(dāng)我們要給某個(gè)uid推送的時(shí)候,需要知道uid對(duì)應(yīng)的長(zhǎng)連接在哪些服務(wù)器上,所以我們需要實(shí)現(xiàn)一個(gè)會(huì)話層(session layer),最簡(jiǎn)單的就是搭建一套redis cluster,把uid與gateway之間的關(guān)系記錄下來,然后基于客戶端心跳,去redis cluster中做刷新,避免關(guān)系過期。????當(dāng)我們要給uid推送時(shí),可以由l...
2018-08-06
講師回答 / 小魚兒老師
同學(xué)好,本課程源碼見:https://github.com/owenliang/go-websocket實(shí)戰(zhàn)彈幕源碼見:https://github.com/owenliang/go-push
2018-08-02
講師回答 / 小魚兒老師
這位同學(xué)好~對(duì)于重要的下發(fā)消息,可以在協(xié)議上予以區(qū)分對(duì)待,讓客戶端收到消息后予以ACK,若未ACK則服務(wù)端重發(fā)N次。
2018-07-26