为了账号安全,请及时绑定邮箱和手机立即绑定

GO实现千万级WebSocket消息推送服务

小鱼儿老师 全栈工程师
难度中级
时长 1小时10分
学习人数
综合评分9.40
49人评价 查看评价
9.6 内容实用
9.3 简洁易懂
9.3 逻辑清晰

已采纳回答 / 风中利剑
MQTT适用于网络不稳定、低带宽、高延迟环境下的信息传输,一般应用于物联网场景中的安卓设备和服务器之间的连接,它是一个发布/订阅系统,相比较websocket是有延迟的,而且对于websocket来说,天然对浏览器友好

最新回答 / Elann
目前代码实现了一个websocket与服务器之间的连接,如果是群发,那么就需要连接池。但是原理都是一样,仅仅是上层需要做一下筛选。

已采纳回答 / 骆_驼种咖啡
https://github.com/gorilla/websocket 这个?

最新回答 / qq_慕田峪2517713
实在看不出有什么问题,兄弟你的理解有误差吧。第一次发送消息不是放在管道里面吗?而且forloop比发送之前休先初始化,此时你发送消息放在管道里面了,而forloop不久读出来了吗??

最赞回答 / zhaojunbo
closeChan 用来等待退出,里面是什么类型的chan其实是无所谓了。sync.Once的目的不是加锁,而是为了只执行一次任务

最新回答 / javasgl
response code :200 , 这是后端代码还是提供的是http 服务,你可能是改了代码后,忘记停止服务重新编译运行了停止原来的http服务,重新编译、运行就行了

已采纳回答 / 小鱼儿老师
golang的channel资源是可以自动GC掉的,但也不要误认为所有的资源你都不需要主动释放,例如打开的文件或者连接,还是需要主动关闭底层资源的。

已采纳回答 / 小鱼儿老师
主要是并发模型不同,GO写起来足够简单。

最新回答 / 小鱼儿老师
楼上同学已经解释,我在另外一个问题中也作答了~

最新回答 / 小鱼儿老师
创建一个原子变量,每个连接可以+1分配到一个唯一ID,利用ID做hash取模到某个set中。
课程须知
1、课程难度属于中级 2、有一定的编程经验,熟悉Golang基本语法以及网络相关基础知识 3、对GO语言、分布式高并发架构感兴趣
老师告诉你能学到什么?
1、了解高并发系统实现的技术难点 2、学习WebSocket协议原理与交互流程 3、掌握GO语言开发WebSocket的重要设计方法 4、了解高并发分布式系统的架构技术难点及解决方案

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消