投稿
登录 | 注册

融云「聊天室属性」: 语聊房、直播间有序运行和丝滑体验的绝技

互联网
2023
02/07
11:22
分享
评论

本文转自【融云全球 互联网通信云】,移步免费体验、了解更多。

信息技术的发展一日千里,但当技术照进现实,转变为让娱乐、生活更丰富,让工作更方便的实用能力,这个过程并非一日之功,也不是一成不变。

比如,IM 即时通讯中聊天室产品的聊天室属性,表面“其貌不扬”,内里则在多番场景实践下演变得“别有洞天”。

聊天室是直播、语聊房等 社交泛娱乐产品必备的组件,它最显著的形态,就是我们常说的“公屏”——用户关系临时、消息内容短小重复的公共聊天频道。

殊不知,借助聊天室属性,它的作用远不止于此。这个功能的优劣,甚至直接影响语聊房和直播间的秩序和体验。

在指定聊天室中设置相关属性,用户进入聊天室后可以同步获取聊天室内的属性信息。

比如,语聊房中的主播麦位信息、角色管理等,狼人杀、剧本杀等 游戏房场景中记录用户的角色和牌局状态等。

这是融云首创的产品功能,源于一位语聊房开发者对“抢麦”功能的实现需求。经过充分分析验证,这个需求在融云 IM 产品强大的外延能力下得以实现,进而沉淀为通用能力提供给更多开发者。

以此为界,聊天室产品的比拼有了新维度,在承接海量用户的并发能力之外,有了更具生命力、更加鲜活的功能表现,并逐渐构建了自己的迭代循环:功能领先→众多开发者集成→新的场景需求→研发新功能→功能持续领先。

随着人们的线上社交娱乐热情被点燃,聊天室的应用场景遍地开花,融云聊天室属性功能也不断在开发者的需求下丰富起来。

一、场景丰富:语聊房、直播中的聊天室属性

1、语聊房

一个语聊房可能有海量用户同时在线,任何一个人的麦位信息、角色身份等变化都需要在极短时间内同步给房间内所有人。

麦位管理:上麦即拥有了发言能力,下麦则从发言用户变成普通用户,锁麦即可锁定麦位拒绝用户上麦,抢麦则为几个用户同时抢占一个麦位。同时,还有禁言、发言等麦位状态管理。

用户管理:主播、麦上观众、房间观众等用户角色设置;狼人杀、剧本杀等游戏房中警、匪、平民等角色设置。

房间管理:房间人数、麦位数量、房间公告等。

PK 状态:语聊房跨房间 PK 中的双方支持人数战绩展示。

防炸麦:可通过聊天室属性设置在用户离线后及时清除连接状态,避免“幽灵麦”等情况的发生;通过聊天室属性的房间状态回调接口,开发者还可以实时感知用户的上下麦状态,如出现非法用户上麦的情况,可及时将其踢出房间,维护语聊房的正常秩序和良好体验。

2、直播

房间信息:房间人数、观众信息、房间公告。

角色管理:主播、管理员等角色信息和权限。

榜单信息:多维度观众榜单、最受欢迎礼物榜单等榜单信息。

PK 状态:连麦 PK 中的双方支持人数战绩展示。

商品信息:电商直播场景中,主播当前正在推广的商品信息。

语聊房、直播都是近些年娱乐消费侧的明星品类,而在企业级的远程会议场景,聊天室属性的使用也有一席之地——会议成员、人数等房间属性和主持人、管理员、参与者等角色信息和相应权限管理。

二、优势领先:稳定可靠,实时同步,接口灵活

聊天室属性首先有必达和实时的要求,比如麦位、角色等信息需要实时同步给聊天室的所有成员,且保持一定的秩序性,不会造成乱序等问题。

1、稳定可靠的架构设计

必达是对聊天室属性性能的核心要求,也就是业务所设置的属性能够稳定同步、不丢不乱,这其实考验的是整体的聊天室系统架构。

融云聊天室的系统架构如下图示,通过连接层、业务层、存储层的长连接、二级缓存、多活数据中心等方式保证响应速度和分发速度。

融云聊天室的系统架构

在海量用户高并发场景下,消息分发能力将决定着系统的性能。以一个百万级用户量的聊天室为例,一条上行消息对应百万倍分发。这种情况下,海量消息的分发,依靠单台服务器是无法实现的。

融云将一个聊天室的人员分拆到不同的消息服务上,在聊天室服务收到消息后向消息服务扩散,再由消息服务分发给用户。

融云聊天室消息分发流程

2、分层存储保障实时同步

聊天室属性是以 Key 和 Value 的形式进行传递和存储的,属性的操作行为主要有两种:设置、删除。服务器存储属性也分两部分,分别是全量的属性集合,以及属性集合变更记录。如下图所示:

融云聊天室属性存储结构

服务器存储的两份数据,提供了两种查询聊天属性的接口,分别是查询全量数据和查询增量数据。这两种接口的组合应用极大地提升了聊天室属性的查询响应能力。

对于刚进入聊天室的成员,直接拉取全量聊天室属性数据进行展示。

对于已经拉取过全量数据的成员,通过属性变更记录集合(Key 为变更时间戳,Value 里存着变更的类型以及属性内容),有序提供这段时间内所有聊天室属性的变更记录,实现增量数据的快速同步,减轻客户端的轮询计算压力。

3、灵活响应业务需求

每个聊天室可设置 100 对属性信息(KV),每秒钟支持处理 100 次的属性设置,可极大地满足用户场景需求。

同时,融云聊天室属性还具备以下特性以灵活支持各类实用业务需求。

支持强制设置单个属性,满足各种规则设置需求以维持房间秩序和业务的顺利开展。单个属性设置 Key 和 Value 一一对应,先到先得,可用于聊天室成员的抢麦、上麦等功能;而强制设置单个属性,则可强制覆盖 Key 上存储的 Value 属性,用于管理员对不发言或离线麦位成员的强制替换。

支持批量设置聊天室的属性,比如业务中某个同类型、同权限的角色人物有多个,则可以一次性统一设置多个,且支持只占用一对 KV。

属性可随用户在线状态自动删除或持续保留,当用户下线或退出聊天室,可以选择设置其相关属性随其在线状态消失或持续保留。

比如,麦上用户离线,其相关属性随其下线自动删除,以保证用户异常掉线时可释放麦位;而若用户身份为管理员,则其设置的房间公告等影响房间秩序的属性可选择持续保留。

属性信息可实时同步客户的应用服务器,让业务方实时掌握聊天室的变化状态,提升数据分析能力,更好地支持业务运营。

支持房间信息预览,当用户浏览 App 而未进入房间时,可以获取聊天室属性信息,为其选择加入房间提供判断依据和吸引力。

THE END
广告、内容合作请点击这里 寻求合作
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表砍柴网的观点和立场。

相关热点

最新文章
  • 阿里巴巴在赤裸裸消费美国两大交易所
  • 谁动了我们的公积金
  • 百度:金融结网,热情依旧
  • 做互联网金融的8字真言

相关推荐

“特斯拉又割了我 7 万块”
用 eSIM 取代手机卡,究竟难在哪里?
这就是 iPhone 13 的“杀手级新功能”?网友:炒华为冷饭!
谷歌Pixel 6真机曝光:最美安卓屏幕没跑了!
iPhone 13机模曝光:值得等!
苹果计划在美国生产 Apple Car 汽车电池
1
3

聚圣源名图开起来怎么样维尔纽斯事件姓宁的起名字的孩子起名大全王什么是汇率宫筱轩40005许小年简历姓尚的起名大全韩姓起名男宝宝魔兽真三地图WIN11安装助手有没有免费的给宝宝起名字软件周易如何起名大全公司起名字寓意好的字三个字双胞胎起名字大全男孩用字给姓彭宝宝起名字恶之花姚晨风车动漫银河霸主饲养手记起名梓怎么寓意石字起名女孩无畏级战舰盛世安稳花卉园艺起名山猫和吉咪之全家乐波粒摄像机风声经典台词jpwb八字缺火 起名字淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化