写点什么

钉钉企业级 IM 存储的挑战与实践

  • 2019-10-01
  • 本文字数:763 字

    阅读完需:约 3 分钟

钉钉企业级 IM 存储的挑战与实践

作为 ToB 产品,钉钉具备独特的业务场景。首先是超级大群,在钉钉上,企业的组织关系可映射到 IM 的群。例如全员群就是包含企业所有员工的一个群。这带来为数众多的超级大群。在节假日时期,特别是元旦、春节或者双 11 这样的重大活动,老板和员工在群里高频互动,给 IM 存储系统带来巨大的压力。


第二是聊天数据长期保存,历史消息可实时回溯。与 ToC 的消息所不同的是,钉钉的聊天数据属于企业资产,需要长期保留。随着钉钉体量迅速增长,面临着存储容量扩展瓶颈,存储成本高昂等问题。


第三是稳定性要求高。一旦钉钉的消息发不出去或者收消息出现延迟,会大面积影响企业的核心业务运转。从历史经验来看,存储恰恰是非常容易出问题的依赖。


面对上述挑战,我们将 IM 存储模型从写扩散升级为读写扩散混合,减少超级大群对存储的扩散量;与阿里自研的 X-Engine 存储引擎共创,实现了一个低成本,适应钉钉 IM 业务的冷热存储架构;同时通过存储冗余,应对高稳定性的要求。本次分享系统介绍我们的解决思路和关键细节,希望可以让你有所收获。


钉钉 IM 服务端研发技术专家劲弩老师将在ArchSummit全球架构师峰会(北京站)2019为我们带来《钉钉企业级 IM 存储的挑战与实践》的精彩分享。


演讲提纲


  1. 钉钉 IM 业务的特点

  2. 钉钉 IM 的消息存储模型

  3. 钉钉 IM 冷热存储架构和背后的思考

  4. 钉钉 IM 高可用存储架构实践


听众受益点:


  1. 了解业界 IM 的存储模型;

  2. 了解企业级业务的特点,及其对技术架构的影响;

  3. 了解存储成本优化的思路和解决办法。


嘉宾介绍


劲弩 钉钉 IM 服务端研发技术专家


主要负责钉钉 IM 的存储架构优化、成本控制和消息发送稳定性保障。2016 年加入钉钉,擅长高可用、低成本的企业级系统架构,对钉钉 IM 的技术演进深有体会。


更多业务架构的相关分享请访问 ArchSummit全球架构师峰会(北京站)2019官网。


https://archsummit.infoq.cn/2019/beijing/


2019-10-01 15:451958

评论

发布
暂无评论
发现更多内容

拿捏这10点,玩转云原生应用

BeeWorks

50强诞生!2021 OceanBase 数据库大赛百所高校争霸!

OceanBase 数据库

数据库 开源 开发者 比赛 oceanbase

智能楼宇管理系统开发,智慧楼宇管控系统开发

电微13828808271

安全架构|云安全框架及虚拟化技术

明亮安全观

云计算 网络安全 云安全 安全架构

这才是Springboot事务创建流程的正确打开方式(附源码分析!)

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

还有人不知道鸿蒙智联设备认证咋搞?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

Hadoop企业级生产调优手册(一)

大数据技术指南

11月日更

盘点分布式软总线数据传输技术中的黑科技|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

北京朝阳区有正规等保测评公司吗?联系电话多少?

行云管家

网络安全 等保测评 朝阳区

记一次拿到后台权限的过程

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

spark2.0笔记

Clarke

HBase 调优详细剖析

五分钟学大数据

11月日更

鸿蒙智联生态服务平台——智能硬件伙伴的最佳拍档|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

《新程序员》走进微软亚洲研究院

刘旭东

微软 hololens

Remix.run 新手教程

程序员铮铮

JavaScript 大前端 React SSR 教程分享

【Pandas学习笔记02】处理数据实用操作

恒生LIGHT云社区

Python 数据分析 pandas

Java开发之集成开发环境

@零度

JAVA开发 Java学习 IED

连续 14 年!IBM 荣获 2021 年 Gartner 主存储魔力象限领导者

BeeWorks

3分钟教你如何在github上精确的找开源项目?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

35岁程序员创业,为何选择云原生赛道

行云创新

云计算 创业 程序员 云原生 CEO

面试官问:mysql中时间日期类型和字符串类型的选择

华为云开发者联盟

MySQL timestamp 时间日期 字符串类型

质量基础设施“一站式”服务信息平台建设,NQI一站式线上搭建

电微13828808271

自动驾驶汽车的安全架构体系 易筋 ARTS 打卡 Week 77

John(易筋)

ARTS 打卡计划

Linux一学就会之Linux详细基本命令操作

学神来啦

bash Linux centos 运维 Shell

前端开发环境搭建在内网是如何搭建的

@零度

大前端

淘宝客户端安全生产体系建设

阿里巴巴终端技术

ios android 淘宝 客户端 安全生产

阿里一面灵魂一问:RPC或者HTTP什么时候需要序列化和反序列化?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

Java 项目中使用 Resilience4j 框架实现故障隔离

码语者

Java Resilience4j Bulkhead 故障隔离

Linux学习方法,《Linux一学就会》教你如何学习Linux

侠盗安全

Linux 运维 linux运维 云计算架构师 linux电子书

大数据开发之如何用Scala进行spark开发

@零度

scala 大数据 spark

大会回顾丨游戏用户体验优化如何实践,看大咖怎么说(附PPT下载)

WeTest

钉钉企业级 IM 存储的挑战与实践_ArchSummit_劲弩_InfoQ精选文章