写点什么

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

评论

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

ReactNative进阶(二十四):react-native-scrollable-tab-view 标签导航器组件详解

No Silver Bullet

1月月更 ReactNative 标签导航

带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN

华为云开发者联盟

网络威胁情报 CTI 异构信息网络 GCN HINTI

设计模式【11】-- 搞定组合模式

秦怀杂货店

Java 组合模式

1月月更|推荐学java——Spring集成MyBatis

逆锋起笔

mybatis ssm Spring Framework spring aop spring+mybatis

架构训练营 week5 课程总结

红莲疾风

「架构实战营」

web技术分享| 白板SDK之函数和方程式的运用

anyRTC开发者

前端 音视频 视频会议 白板 web技术分享

详解 Flink 中 Time 与 Window

五分钟学大数据

flink 1月月更

在线XML转HTML工具

入门小站

工具

Flume日志采集框架构成组件

编程江湖

flume

社区知识库|常见问答 FAQ 集合第 4 期:消息保留及延迟、Broker、Pulsar 权限等相关问题

Apache Pulsar

架构 云原生 开源社区 消息中间件 Apachepulsar

HTTP跨域小结

wong

nginx HTTP cros

Committer 郭吉伟专访:做开源不是搞慈善,用开源也不是薅羊毛

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

基于 PTS 压测轻松玩转问题诊断

阿里巴巴云原生

阿里云 云原生 压测 问题 PTS

一文看懂:工程项目管理软件有哪些?怎么选?

优秀

项目管理软件

博文推荐|深入解析Apache BookKeeper 系列:第一篇 — 架构原理

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

Tcp网络模型

你?

SIG技术直播来了!技术专家教你,如何使用 iLogtail 采集可观测数据?

OpenAnolis小助手

Linux 开源 数据 直播 采集

Linux之date命令

入门小站

Linux

社区知识库|常见问答 FAQ 集合第 2 期:Topic 配置、ACK 等问题的解决

Apache Pulsar

架构 云原生 Apache Pulsar 开源社区 消息中间件

Spring中部署Activiti流程定义的三种姿势

华为云开发者联盟

spring 工作流 Activiti流程 Activiti框架 Activiti Explorer

2022AJAX常见面试题分享

编程江湖

ajax

【云成本】降低云成本三大技巧你知道吗?

行云管家

云计算 企业上云 云成本

低代码实现探索(二十四)业务的领域可视化构思

零道云-混合式低代码平台

Spring的底层实现机制

编程江湖

Spring JPA

前端开发之样式调试

@零度

前端开发

老牌安全厂商海泰方圆加入龙蜥社区

OpenAnolis小助手

Linux 开源 社群运营

大数据开发之Flink SQL建设实时数仓实践

@零度

大数据 flink sql

社区知识库|常见问答 FAQ 集合第 3 期:Topic 数量、Broker 设置等相关问题

Apache Pulsar

分布式 云原生 Apache Pulsar 开源社区 消息中间件

只有天空才是你的极限,我们热爱探索的过程并沉浸其中丨图数据库 TiMatch 团队访谈

PingCAP

博文推荐|Apache Pulsar: 统一消息流平台

Apache Pulsar

开源 云原生 broker Apache Pulsar 消息中间件

Form 表单在数栈的应用(下):深入篇

袋鼠云数栈

前端

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