欢迎光临汤雪华的博客

一个人一辈子能坚持做好一件事情就够了!坚持是一种刻意的练习,不断寻找缺点突破缺点的过程,而不是重复做某件事情。
随笔 - 138, 文章 - 0, 评论 - 2130, 阅读 - 151万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

IM即时通信软件设计

Posted on   netfocus  阅读(3262)  评论(1编辑  收藏  举报

参考资料:

架构设计

存储模型设计

群主场景的优化

对于群组的场景,有必要将一个消息放入群里的每个成员的收件箱timeline吗?感觉没必要啊,要是群成员很多,那将群消息同步到所有群成员的收件箱很耗时,性能很差。合理的方法应该是对于群组的场景,不需要将群消息同步到所有群成员的收件箱了,而是改为通知所有群成员某个群的会话有新消息,让所有群成员的设备都到群会话对应的timeline拉取消息就行了。

如何支持消息撤回?

撤回消息,用户的本意应该是希望撤销这条消息。对于服务端来说,正确的逻辑应该是删除这个消息。我的初步考虑是,写入一条撤回消息到timeline。读取timeline时,做一下消息过滤,某个消息出现了对应的撤回消息,则不返回给设备端即可。大家也可以抛出自己的想法。

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示