当前位置:网站首页>【网易云信】深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章
【网易云信】深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章
2022-06-10 11:13:00 【InfoQ】
一、技术选型

二、技术难点
- 二级结构下成员无上限的社交关系系统设计。
- 超大社群下消息系统设计。
- 复杂高效的身份组系统设计。
三、「圈组」消息系统技术剖析
(一) 「圈组」整体架构

(二)消息系统架构

(三)消息系统技术细节
- 在线广播

- 离线推送
- 既关注促活,又保证不打扰
- 大型 server 是游乐场,只推送与用户相关的重要消息(如 @消息)
- 小型 server 是与朋友相处的小天地,支持消息的全部推送

- 历史消息

- 特色功能
- 消息更新:所谓的消息更新是指消息发送之后还允许修改,消息撤回和删除被认为是消息更新的一种特殊状态,这在管理一个大型社群中的消息时有着重要的作用。
- 消息互动(即将推出):「圈组」提供了比 Discord 的消息回复更强的 thread 聊天功能,不同于子区是单独开辟一块空间,thread 聊天可以让你在复杂的消息流中自动筛选出关于某一个话题的所有关联消息。「圈组」也提供了快捷评论的功能,你可以给一条消息添加各种自定义的表情,这在大型的频道中几乎是刚需,因为你再也不用忍受消息爆炸了。云信针对大型频道的快捷评论也做了特殊的优化,当一条消息获得大家的一致喜爱时,频道里所有人都可以给他点一个或者,数量不设上限。
- 消息检索(敬请期待):「圈组」的检索系统也是一大特色,消息检索自然是其中重要的一环,消息检索将助你在繁杂的消息流中寻找到你想要的消息
- 第三方回调和抄送:这充分体现了「圈组」作为云信 PaaS 平台产品的一大特点,通过第三方回调和抄送,你可以在各种各样的操作(如发消息、拉人踢人、修改信息等)的 before 和 after,植入任何你想要的逻辑,譬如机器人、内容审计等(当然云信也有安全通一站式内容安全解决方案,可以按需选择)。
四、总结
边栏推荐
- 中台:数据中台、业务中台、技术中台、应用中台、AI中台……
- 牛客面经02
- 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验
- Privilege application permission configuration
- Analysis: a stable currency is not a "stable currency", but a product in essence
- 深度剖析「圈组」关系系统设计 | 「圈组」技术系列文章
- 爱可可AI前沿推介(6.10)
- 【黄啊码】如何确保php上传的图片是安全的?
- Flink CDC + Hudi 海量数据入湖在顺丰的实践
- Modstartcms enterprise content site building system (supporting laravel9) v4.1.0
猜你喜欢

Flink CDC + Hudi 海量数据入湖在顺丰的实践

中国赛宝的面经

How can the team be dissolved...

解析:稳定币不是「稳定的币」 其本质是一种产品

Software testing quality and assurance

ModStartCMS 企业内容建站系统(支持 Laravel9)v4.1.0

Fortex方达发布电子交易生态体系 与客户共享共赢

Noise reduction flagship with excellent sound quality, female poison must be selected, Mo3 experience of shell Prince

Meetup回顾|DevOps&MLOps如何在企业中解决机器学习困境?

Sword finger position operation
随机推荐
第 1 天 栈与队列(简单)
Initial experience of a one-stop solution for general target detection and recognition based on shengteng AI heterogeneous computing architecture cann
“职” 为等你!| 图书策划编辑(会议论文集方向)
In commemoration of the 16th day of the first month, the total number of visits to the studio exceeded one million
PV operation daily question - orange apple question (advanced version)
After an error occurs in the source observable, it will be directly entered into the catchrror operator instead of the sequence in the pipe before entering the catchrror
关于单向链表
String class and learning documents
SqlSessionFactory和SqlSession详解
Switch the Taobao image of NPM
How can the team be dissolved...
It's more convenient to keep warm water. It's a small artifact for daily milk brewing. It's a colorful jingle wireless portable milk mixer
H.265编码原理入门
建筑业减碳绝非一招鲜 专家建议加强改造农村建筑
【Question】rxjs/operator takeWhile vs takeUntil
string类及学习使用文档
C 12 circular queue
golang CLI框架--cobra
Introduction to splishsplash architecture
【SignalR全套系列】之在.Net6中实现SignalR分组通信