默认

网易云信技术分享:IM中的万人群聊技术方案实践总结

查看数: 125984 | 评论数: 13 | 收藏 13
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-08-14 01:00

正文摘要:

本文来自网易云信团队的技术分享,原创发表于网易云信公众号,原文链接:mp.weixin.qq.com/s/LT2dASI7QVpcOVxDAsMeVg,即时通讯网收录时有改动。 1、引言 在不了解IM技术的人眼里,群聊是再平常不过的功能而已,万 ...

评论

JackJiang 发表于 2 年前
引用:mayongjian 发表于 2022-09-04 21:17
5)群消息采用“漫游+历史”的存储方案,漫游的消息存储在分布式缓存中,历史消息异步写入HBase。用户登录 ...

你的理解不对吧,这句“漫游的消息存储在分布式缓存中,历史消息异步写入HBase”,不是明明说清楚了吗
mayongjian 发表于 2 年前
引用:yqfclid 发表于 2022-06-17 15:38
请问路由模块每次下发数据都需要查询在线状态服务吗,玩意遇到那种万人群,岂不是要查一万次。。。 网络消 ...

是增量哦
mayongjian 发表于 2 年前
5)群消息采用“漫游+历史”的存储方案,漫游的消息存储在分布式缓存中,历史消息异步写入HBase。用户登录后可以通过漫游快速的获取到最新消息,并可以通过拉取历史查看更早的消息。


为什么漫游消息和历史消息共用一块存储啊 ,也就是漫游消息也读hbase
yqfclid 发表于 2 年前
请问路由模块每次下发数据都需要查询在线状态服务吗,玩意遇到那种万人群,岂不是要查一万次。。。 网络消耗会非常离谱
weixiaoyao 发表于 3 年前
引用:sulo_xxr 发表于 2020-04-20 16:12
这里有个疑问,如果一个人大多个群中,这里都要维护一个人在所有的群里的在线状况的二级缓存,怎么保让这个 ...

真实场景中,一个人所在的万人大群一定是有限的,比如10个。这些大群因为特殊性,存储时和普通群做区分。A登录时,只捞他所在的大群gid1,gid2,...gid10这样,redis来个sadd操作。A离线时,同样,删除操作
leeyi 发表于 4 年前
引用:sulo_xxr 发表于 2020-04-20 16:12
这里有个疑问,如果一个人大多个群中,这里都要维护一个人在所有的群里的在线状况的二级缓存,怎么保让这个 ...

“用户在线状态”,和该用户在群里面没有关系吧? 我理解的“IM用户在线就是TCP状态在open的时候就是在线,否则就是离线”,用户加入了100个群,并且用户有1000个好友的情况,用户每次在线,或者离线的时候,就要发100+1000(假设1000个好友都在线,如果 只有10个好友在线的话,就是 100 + 10)条小消息
sulo_xxr 发表于 4 年前
这里有个疑问,如果一个人大多个群中,这里都要维护一个人在所有的群里的在线状况的二级缓存,怎么保让这个数据的准确性的,我理解 一个人上线 ,需要遍历这个人所有的群信息,下线也是一样,被拉入新群也是一样,遍历所有群成员后才能缓存。
妮子 发表于 5 年前
引用:JackJiang 发表于 2019-12-13 10:22
都是点到为止的,有些东西再深入就涉及商业竞争力了

明白,明白
JackJiang 发表于 5 年前
引用:妮子 发表于 2019-12-12 23:16
如果能讲的再细致一点就更好了

都是点到为止的,有些东西再深入就涉及商业竞争力了
妮子 发表于 5 年前
如果能讲的再细致一点就更好了
jevensonv 发表于 5 年前
学习
邓高鹃 发表于 5 年前
不会!刷到哪里更新到哪里!不会一下子刷完!
clark.li 发表于 5 年前
万人群会不会刷屏太厉害看都看不清?

返回顶部