钉钉IM的实践挑战_第1页
钉钉IM的实践挑战_第2页
钉钉IM的实践挑战_第3页
钉钉IM的实践挑战_第4页
钉钉IM的实践挑战_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、钉钉IM系统的挑战与实践万人群历史消息回溯高可用万群的规模一万人参与的贝多芬第九号交响曲大合唱为什么要做万群万群的技术挑战稳定大群大量发消息,系统压力山大体验选人组件还能再慢点吗? 发红包根本选不到人201620182017成本成本很多客户都想有个大群,能不能不要 限制大群数量?群限流热点大群限流系统容量足够时,尽量允许大群 发消息消息属性可见性全员可见:所有人都可以看到消息部分可见:部分人可见,其他人看不到消息多态性普通:每个人的消息状态完全相同多态:每个人的消息状态不完全相同发送者视角接收者视角写扩散模型以用户维度建立消息收件箱问题:万人群扩散量太大!消息收件箱用户id会话id消息id状态

2、uid1cid1msgid1status1uid2cid1msgid1status2uid3cid1msgid1status1uid10000cid1msgid1status1读写扩散混合模型95%以上是普通全员可见消息相同的状态记录,合并至会话消息表个性化状态仍然写入消息收件箱,读取时做合并会话消息表会话id消息idstatuscid1msgid1status1写扩散一份顶一万份,大幅降低写压力和消息存储成本消息收件箱用户id会话id消息id状态uid1cid1msgid1status1uid2cid1msgid1status1uid3cid1msgid1status1uid10000cid

3、1msgid1status1万群成员10S+体验差:用户查看群成员耗时长10000行稳定性差:拉取万行群成员记 录,易造成DB热点万群成员用户查看群成员快快快,服务端DB稳稳稳 %万人群历史消息回溯高可用历史消息获取模型进入会话都从服务端拉取消息断层时,可确保不丢消息依靠服务端推送单次推送超过阈值时丢弃服务端推送超过上限时,转换为拉模型 只拉取增量会话及lastMsg消息存储冷热分离冷热属性用户通常只访问、修改近期的消息设计原则可复用性强,业务改动小冷库访问尽量少冷库支持最小范围的功能实现热库(POLARDB InnoDB) + 冷库(POLARDB X-Engine)成本降低70%,结构变更从7天变为1小时,014Corona()消息安全保障,0/:6rpc,AliSQL消息全链路加密。消息流转的每一个点都是加密的!万人群历史消息回溯高可用可99.995%可设计多级冗余核心中间件冗余同城双机房异地容灾自动降级保障消息收发核心功能AliSQLAliSQLUSF 稳定性保障机制100090%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论