写点什么

钉钉企业级 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:451942

评论

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

Guitar Pro2024免费版吉他打谱软件

茶色酒

Guitar Pro8 Guitar Pro2024

一个词语总结2022,你的是什么? | 2022 年度总结

陈言必行

2022年终总结

React源码分析6-hooks源码

flyzz177

React

模块五作业

张贺

如何把 高并发限流 实现的那叫一个优雅!

风铃架构日知录

Java 程序员 高并发 IT 限流

二维码的秘密

古时的风筝

二维码 二维码生成

关于 Serverless 应用架构对企业价值的一些思考

Serverless Devs

React源码分析5-commit

flyzz177

React

Postgresql分析慢sql

查拉图斯特拉说

数据库 postgresql db PgSQL PG库

一次关于 MySQL 主从模式采用 GTID 的实践记录

风铃架构日知录

Java MySQL IT 主从复制 MySQL 数据库

Studio One2023终于有了视频支持,可以方便做视频配乐了

茶色酒

Studio One2023

2023年,祝你有个好习惯!

石云升

习惯 年终总结 1月月更

2022年终总结:一年读完的40本书

石云升

读书笔记 年终总结 1月月更

Jenkins 项目的 gpg: signing failed: Bad passphrase 错误

HoneyMoose

小程序原理之: WXSS 编译

Speedoooo

小程序 小程序技术 小程序编译

ProgressBar(进度条)

芯动大师

Android Studio 进度条 ProgressBar

一次JVM GC长暂停的排查过程

京东科技开发者

Java 后端 JVM 虚拟机 企业号 1 月 PK 榜

重磅发布丨从云原生到 Serverless,先行一步看见更大的技术想象力

Serverless Devs

ShardingSphere分库分表schema名称导致NPE问题排查记录

小小怪下士

Java 程序员 后端

微服务的版本号要怎么设计?

江南一点雨

微服务 语义化

2023-01-09:以下go语言代码输出什么?A:+Inf; B:zero; C:something else; D:doesn‘t compile。 package main import (

福大大架构师每日一题

golang go语言 福大大 选择题

《PyTorch 深度学习实战》学习笔记--Mac M1 安装PyTorch2.0

IT蜗壳-Tango

React源码分析7-state计算流程和优先级

flyzz177

React

LogicFlow安装与准备工作

小鑫同学

前端 vite Vue 3 Vue3 Typescript

Jenkins 构建过程中提示 GPG 错误

HoneyMoose

ClickHouse 挺快,esProc SPL 更快

陈橘又青

公共服务 智慧政务数据可视化大屏一体化系统

2D3D前端可视化开发

数据可视化 数字政务 智慧政务 数字政府 可视化大屏

2022年中国潮流运动消费发展白皮书

易观分析

运动 潮流运动 潮流

恭喜龙蜥获得中国开源云联盟2022年度中国“最佳开源实践案例”和“杰出开源贡献者”奖项

OpenAnolis小助手

开源 龙蜥社区 COSCL 木兰峰会 中国开源云联盟

带你认识数仓的增量备份核心设计

华为云开发者联盟

数据库 后端 华为云 数仓 企业号 1 月 PK 榜

写了2年文章的我,昨天第一次露脸直播。

王中阳Go

深度思考 高效工作 学习方法 程序员 微服务架构

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