用户登录,注册,发送验证码到手机(因为要云服务所以暂未实装)
开启,关闭,进入,退出直播间
获取直播间的推流地址和推流码
获取直播间观看人数
推流(livego框架)
实时聊天,送礼,抽奖
| 功能 | 实现 |
|---|---|
| rpc框架 | go-zero |
| 长连接 | websocekt |
| 数据库 | mysql |
| 缓存 | redis |
| 鉴权 | jwt |
| 服务与发现 | etcd |
| 消息队列 | go-queue,rabbitMQ |
| 链路追踪 | jaeger |
| 监控 | prometheus,grafana |
| 推流 | livego |
jaeger 这里以room-rpc为例
点击开启直播间后可以获取直播间的推流地址
使用悲观锁防止房间内register和unregister的冲突(已弃用)
将消息队列的信息写入缓冲区,再通过websocket批量写回客户端
可以降低高峰期接收层的qps
使用gzip进行压缩和解压缩,降低消息体积
将IM层和消息层分离
目前的消息层和IM层耦合在一起,不利于后续的拓展
重构resp的status
完善鉴权
支持直播间封面的上传
支持对直播间tag检索查找
拓展为分布式
尝试部署
@Aquamarine





