写点什么

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

  • 2020-02-05
  • 本文字数:728 字

    阅读完需:约 2 分钟

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

ArchSummit 北京 2019 大会上,劲弩讲师做了《钉钉企业级 IM 存储的挑战与实践》主题演讲,主要内容如下。


演讲简介


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


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


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


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


内容大纲


  1. 钉钉 IM 业务的特点

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

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

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


听众受益点


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

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

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


讲师介绍


劲弩


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


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












完整演讲 PPT 下载链接


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


2020-02-05 19:362297

评论

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

愚蠢写作术(3):如何把读者带入迷宫深处

史方远

学习 读书笔记 个人成长 写作

食堂就餐卡系统设计

飞雪

程序员的晚餐 | 6 月 7 日 豆腐年糕

清远

美食

【ARTS打卡】Week02

Rex

Flink源码分析之Flink startupMode是如何起作用的

shengjk1

flink flink 消费 kafak 实时计算 flink源码 flink源码分析

dnsmasq-域名访问及解析缓存

一周思进

Flink源码分析之Flink 自定义source、sink 是如何起作用的

shengjk1

flink flink源码 flink源码分析 flink自定义source flink自定义sink

架构师训练营第一周作业

芒夏

极客大学架构师训练营

SpringBoot基本特性以及自动化配置-SPI机制

攀岩飞鱼

Java 微服务 Spring Boot SpringCloud

ARTS-WEEK2

一周思进

ARTS 打卡计划

架构师训练营第一周学习总结

刘志刚

不可不知的 7 个 JDK 命令

武培轩

Java 程序员 jdk 后端 JVM

架构师训练营-每周学习总结1

水边

极客大学架构师训练营

人人都是产品经理

二鱼先生

产品经理 个人品牌 职场成长 产品思维

ARTS打卡 week 2

猫吃小怪兽

ARTS 打卡计划

架构师训练营第一周作业

小树林

SpringBatch系列之并发并行能力

稻草鸟人

Spring Boot SpringBatch 批量

架构方法学习总结

飞雪

LeetCode 769. Max Chunks To Make Sorted

liu_liu

LeetCode

Flink源码分析之FlinkConsumer是如何保证一个partition对应一个thread的

shengjk1

flink flink 消费 kafka 实时计算 flink源码分析

极客时间-架构师培训-1期作业

Damon

食堂就餐卡系统设计

刘志刚

食堂就餐卡系统设计

饶军

食堂就餐卡管理系统

孙志平

架构师训练营-命题作业1

水边

极客大学架构师训练营

Flink源码分析之Flink是如何kafka读取数据的

shengjk1

flink flink 消费 kafka flink源码分析 flink消费kafka源码解析

每周学习总结-架构师培训一期

Damon

Flink源码分析之-如何保存 offset

shengjk1

程序员陪娃系列——数学启蒙趣事

孙苏勇

程序员 陪伴

因为 MongoDB 没入门,我丢了一份实习工作

沉默王二

mongodb

Element-UI实战系列:Tree组件的几种使用场景

码上生长

vue.js 大前端 Elemen

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