2020-07-28

风寒夜末 · · 839 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

面向业务,实战项目 从头撸 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 一些使用技巧





有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:风寒夜末

查看原文:2020-07-28

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

839 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传