2020-07-28

面向業(yè)務,實戰(zhàn)項目 從頭擼 golang websocket

websocket?一看就會一用就廢

主要原因是操作簡單,但做到性能優(yōu)化,業(yè)務邏輯層次感強,并能很好的用上一些go的特性

還真是對剛轉go的同行們不少的考驗

我是開始讓員工擼了幾次,,,發(fā)現(xiàn)沒什么本質的進步,,,自己加個班吧~~~

結果試了幾次感覺效果也不怎么佳

然后,各種get? git? ?對幾個go基礎問題? 特性花點時間細究


1.?用什么存websocket 連接?

具說新手最好用sync.Map

但更多的說還是map?讀寫鎖效果更佳,那么。。。麻煩點就麻煩點吧??!

2.要不要順便考慮上grpc?

畢竟。。聊天室是很消耗服務器的功能,

如果不用分布式開發(fā),單機能力有限,

尤其是一個直播營銷活動,聊天GG?可以想象有多尷尬。。。

但是如果剛入手,無疑提高了開發(fā)邏輯復雜度,比如如何發(fā)流,如何消息同步,等等。。。

想想還是先用簡單方案,把手頭的項目交了,有時間再加上grpc?畢竟改造的話,要簡單多了

還有一個原因,這樣開發(fā),可以考驗一下單機優(yōu)化

3.用到Golang哪些基礎知識?

1.讀寫鎖? ?sync.RWMutex? ??

? ? 一些全局操作,避免同時操作全局map?避免GG...

? ? 但又要考慮盡可能的不犧牲性能

2."github.com/gorilla/websocket"

????這個不用說了,大家都在用~

3.goroutine?


4.chan go必了解的管道

5.struct?interface 一些使用技巧




最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容