现代IM系统中的消息系统架构
序 消息类场景是表格存储(Tablestore)主推的方向之一,因其数据存储结构在消息类数据存储上具有天然优势。为了方便用户基于Tablestore为消息类场景建模,Tablestore封装Timeline模型,旨在让用户更快捷的实现消息类场景需求。在推出Timeline(v1、v2两个版本)模型以来,受到了大量用户关注。伴随模型推广与输出,Tablestore陆续发布了一系列专题文章,重点讨论介绍了IM场景的架构设计、模型概念以及Feed 流系统架构的设计方案,相信给很多用户提供了场景实现新思路。文章列表见 《表格存储权威指南》 。 但依然会有用户困惑,“框架、结构、模型等概念介绍了这么多,该如何基于Timeline模型,实现具体场景呢?”。 本文就是为了让用户更快速的上手,带用户基于Timeline2.0 模型,详细讲解如何实现一个简易的IM系统。并开源了相应的实现代码。 源码链接 相关系列文章见: 《现代IM系统中的消息系统架构 - 架构篇》 、 《现代IM系统中的消息系统架构 - 模型篇》 梗概 生活中最常见的即时聊天类软件如:钉钉、微信等,都可以描述为:实现了即时通讯能力的聊天工具。其中聊天会话可分为两大类,分别是:单聊、群聊(公众号类似单聊)。这里我们以钉钉(Ding Talk)的功能为参照,详细说明相应的功能基于Tablestore的Timeline模型如何实现。如