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

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

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

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

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

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

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

讲师回答 / 小鱼儿老师
因为mutex可以控制锁的范围(scope),实现多个语句的原子化,这个不是一个线程安全map可以搞定滴~

讲师回答 / 小鱼儿老师
HI同学好,我试了一下这份代码,是可以正常工作的。需要你确认一下,发送SEND后,服务端程序是否挂掉了。

讲师回答 / 小鱼儿老师
    HI同学,向单个用户推送不建议广播gateway。会话层    这个架构需要继续演进,允许长连接认证(auth),这样每个长连接就对应一个用户ID(uid)。    当我们要给某个uid推送的时候,需要知道uid对应的长连接在哪些服务器上,所以我们需要实现一个会话层(session layer),最简单的就是搭建一套redis cluster,把uid与gateway之间的关系记录下来,然后基于客户端心跳,去redis cluster中做刷新,避免关系过期。    当我们要给uid推送时,可以由l...

讲师回答 / 小鱼儿老师
同学好,本课程源码见:https://github.com/owenliang/go-websocket实战弹幕源码见:https://github.com/owenliang/go-push

讲师回答 / 小鱼儿老师
同学好,代码在这里都可以下载到:https://github.com/owenliang/go-websocket

讲师回答 / 小鱼儿老师
前置前置再前置,把合并越推向原点,对系统整体优化效果更佳,掌握这一点即可!

已采纳回答 / 小鱼儿老师
同学好认真,应该是平台工作人员粗心了,我联系一下。
课程须知
1、课程难度属于中级 2、有一定的编程经验,熟悉Golang基本语法以及网络相关基础知识 3、对GO语言、分布式高并发架构感兴趣
老师告诉你能学到什么?
1、了解高并发系统实现的技术难点 2、学习WebSocket协议原理与交互流程 3、掌握GO语言开发WebSocket的重要设计方法 4、了解高并发分布式系统的架构技术难点及解决方案

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消