在直播app开发中,实现一个稳定,灵活且支持高并发的消息模块非常重要像公屏互动,全网送礼广播,私信,彩色弹幕,pk等核心功能都需要IM即时消息系统的支持,搭建这么个用户与用户,用户与主播之间的信息沟通桥梁需要注意哪些问题呢?
一·直播app开发中关于消息模型的部分核心概念
1·直播间号
在直播app开发中,主播进行身份验证并开启直播间后,会绑定唯一的直播间号,IM系统通过直播间号完成对应直播间内消息的分发。
2·主播与观众
虽然在直播app开发中主播与观众是两个截然不同的角色,但是在IM系统中都属于普通用户,只是对应的用户标识不同,IM系统会利用用户标识完成点对点的消息分发。
3·消息类型划分
在直播app开发中,消息类型可以根据不同维度实现不同划分,常用的划分维度有直播间消息业务的类型,消息的优先级,消息的存储方式等。
4·消息优先级
直播间内的消息是有优先级划分的,像礼物消息就比小额的礼物消息优先。当直播app开发业务消息分发时,就需要根据消息的优先级有选择性地进行消息分发。
二·直播间内IM消息分发逻辑
1.像直播app开发中的单播,群播,广播等所有消息由直播业务服务器分发到各个业务直播间时,需要通过调用IM长连接服务器的端口实现。
2·像直播间内送礼扣减虚拟货币,公屏文本的健康校验等事件都是通过业务服务器进行处理的。
3·像客户端接收到的消息,由直播业务服务器控制选择长连接通道分发还是http短信分发。
4·直播业务服务器还控制着客户端上层接受统一的消息数据格式,客户端屏蔽底层消息获取的方式细节,进行对应的业务类型消息处理渲染等事件。
5·对于不同优先级的消息要放在不同的消息列队中,将高优先级的消息优先发送至客户端,如果消息堆积出现超时限制时,就先丢弃低优先级的消息。
在不断的发展过程中,无论是直播系统的业务功能还是直播间内的人气都会不断增加,这时对于直播app开发而言,消息系统的构建就是一大挑战了,为了提升用户的使用体验,需要确保消息分发的能力能够实现直播业务的持续发展。