默认
发表评论 1
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求教IM群聊消息写扩散按优先级设计是否合理,或者有什么更好的设计
阅读(132) | 评论(1 收藏 淘帖1
采用写扩散的方案,群消息扩散,扩散的优先级是:(1)正在群聊天界面,(2)在线的(在使用app),但是不在群聊天界面,(3)离线了。排这个优先级的目的是:正在聊天界面的尽早收到消息,再其次就是在线的,如果不在线,可以有一定的延迟。

要实现这个需求: (1)消息扩散队列怎么设计?(2)在群聊天的用户 和 在线的用户 怎么设计数据结构 和 怎么维护这个数据,以至于在扩散时怎么快速地取到这两种数据?
如果上面的这种扩散优先级不合理,请问有什么更好的设计吗?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:求助,遇到一道面试题,微信在不同国家的服务器怎么通信的

本帖已收录至以下技术专辑

推荐方案
评论 1
你定的这个优先级,有点理想化,说实话,真正产品环境下,这个在线跟离线的变化可能是很快的,还是在线以及不在聊天界面的情况,这个变化也很快,总之这种分级意义不大,而且会把事情搞复杂化。所以,服务端的逻辑是能不做就不做,能简单的就一定往简单了做,这样一旦量上来了,做性能优化的空间就越大、越容易。

群聊专题资料,你可以在下面这些文章里找找你需要的思路:

快速裂变:见证微信强大后台架构从0到1的演进历程(一)
如何保证IM实时消息的“时序性”与“一致性”?
IM单聊和群聊中的在线状态同步应该用“推”还是“拉”?
IM群聊消息如此复杂,如何保证不丢不重?
微信后台团队:微信后台异步消息队列的优化升级实践分享
移动端IM中大规模群消息的推送如何保证效率、实时性?
现代IM系统中聊天消息的同步和存储方案探讨
关于IM即时通讯群聊消息的乱序问题讨论
IM群聊消息的已读回执功能该怎么实现?
IM群聊消息究竟是存1份(即扩散读)还是存多份(即扩散写)?
一套高可用、易伸缩、高并发的IM群聊、单聊架构方案设计实践
[技术脑洞] 如果把14亿中国人拉到一个微信群里技术上能实现吗?
IM群聊机制,除了循环去发消息还有什么方式?如何优化?
网易云信技术分享:IM中的万人群聊技术方案实践总结
阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处
IM群聊消息的已读未读功能在存储空间方面的实现思路探讨
直播系统聊天技术(一):百万在线的美拍直播弹幕系统的实时推送技术实践之路
直播系统聊天技术(二):阿里电商IM消息平台,在群聊、直播场景下的技术实践
直播系统聊天技术(三):微信直播聊天室单房间1500万在线的消息架构演进之路
直播系统聊天技术(四):百度直播的海量用户实时消息系统架构演进实践
直播系统聊天技术(六):百万人在线的直播间实时聊天消息分发技术实践
直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践
直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践
直播系统聊天技术(九):千万级实时直播弹幕的技术实践
企业微信的IM架构设计揭秘:消息模型、万人群、已读回执、消息撤回等
融云IM技术分享:万人群聊消息投递方案的思考和实践
实时社群技术专题(一):支持百万人超级群聊,一文读懂社群产品Discord
实时社群技术专题(二):百万级成员实时社群技术实现(消息系统篇)
实时社群技术专题(三):百万级成员实时社群技术实现(关系系统篇)
海量用户IM聊天室的架构设计与实践
IM技术干货:假如你来设计微信的群聊,你该怎么设计?
>> 更多同类文章 ……
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部