面向业务,实战项目 从头撸 golang websocket
websocket 一看就会一用就废
主要原因是操作简单,但做到性能优化,业务逻辑层次感强,并能很好的用上一些go的特性
还真是对刚转go的同行们不少的考验
我是开始让员工撸了几次,,,发现没什么本质的进步,,,自己加个班吧~~~
结果试了几次感觉效果也不怎么佳
然后,各种get git 对几个go基础问题 特性花点时间细究
1. 用什么存websocket 连接?
具说新手最好用sync.Map
但更多的说还是map 读写锁效果更佳,那么。。。麻烦点就麻烦点吧!!
2.要不要顺便考虑上grpc
毕竟。。聊天室是很消耗服务器的功能,
如果不用分布式开发,单机能力有限,
尤其是一个直播营销活动,聊天GG 可以想象有多尴尬。。。
但是如果刚入手,无疑提高了开发逻辑复杂度,比如如何发流,如何消息同步,等等。。。
想想还是先用简单方案,把手头的项目交了,有时间再加上grpc 毕竟改造的话,要简单多了
还有一个原因,这样开发,可以考验一下单机优化
3.用到Golang哪些基础知识?
1.读写锁 sync.RWMutex
一些全局操作,避免同时操作全局map 避免GG...
但又要考虑尽可能的不牺牲性能
2."github.com/gorilla/websocket"
这个不用说了,大家都在用~
3.goroutine
4.chan go必了解的管道
5.struct interface 一些使用技巧