- 掌握Http协议和Web工作原理
- 掌握 WebSocket 原理与实践
- 掌握关系型数据库的基本操作
众所周知,FanOne是个家喻户晓的Aquaman,她经常在社交软件上找小哥哥们聊天,以至于被多个平台封杀,请你写一个IM即时通信系统,让FanOne能聊天自由吧!
编写一个 IM 即时通信系统 支持单聊,群聊,并且支持查找一定时间内的聊天记录
对于聊天内容,请使用Redis + Mysql的方式实现,
- 请考虑你的聊天系统的性能(例如使用Benchmark测试)
- 考虑聊天传输的安全性(可以学习一下Telegram是如何保证传输安全性的,但是现阶段是做不到的,可以尝试做一些小的安全性优化)
- 使用消息队列(RabbitMQ、RocketMQ、Kafka等)
github.com/gorilla/websocket
- 推荐gin框架暴露http路由
- 慢聊Go之GoLang中使用Gorilla Websocket:https://juejin.cn/post/6946952376825675812
- RabbitMQ Go语言客户端教程2——工作队列:https://www.liwenzhou.com/posts/Go/rabbitmq-2/