im系统
-
IM专题:服务化架构IM系统(9)— 应用MQ
在微服务化系统中,存在三个最核心的组件,分别是 RPC、注册中心和MQ。本文继续站在应用的角度,分析微服务第三组件:MQ。
-
IM专题:服务化架构IM系统(8)— 应用RPC
RPC 是服务化架构的 IM 系统中一个非常重要的核心组件,其在整个服务化架构系统中的应用位置见下图。 这里我们仍然不讨论具体的 RPC 框架的技术选型和内部实现,我们仍然从普适性…
-
IM专题:服务化架构IM系统(7)— 应用注册中心
服务化架构的 IM 系统中,入口服务层、业务服务层和数据访问服务层(见 IM专题:服务化架构IM系统(1)—架构解读)都包含了非常多的服务,并且服务都是集群化部署。 服务化架构的 …
-
IM专题:服务化架构IM系统(5)— 优雅上线
在 IM 的服务化架构体系中,很多功能(如用户登录、状态同步、消息收发、联系人管理、系统消息等)逻辑的设计与实现,与分层架构 IM (见IM专题:分层架构系列合集)中的设计与实现非…
-
IM专题:服务化架构IM系统(4)— 红包
在 IM 系统中,“红包” 是一种很常见的应用。在前面的文章 (见IM专题:IM需求分析模型)中,我们曾分析过,“红包” 属于扩展功能需求,“消息” 属于基础功能需求,红包功能的实…
-
IM专题:服务化架构IM系统(3)— 子母号
IM 系统中的 “子母号” 是 C2B 的一类典型应用,即C端用户欲与B端商家进行通信时,B端的母号会为其分配一个子号与C端用户进行聊天。 单纯设计子母号实现方案并不复杂,关键是需…
-
IM专题:服务化架构IM系统(2)— 数据迁移
在 IM 服务化架构中,IM 的核心业务(比如:登录、收发消息、状态同步、未读数等等)的实现逻辑与在分层架构 IM 系统中实现逻辑高度类似;本质上,服务化架构就是分层架构,只是在垂…
-
一套分布式IM即时通讯系统的技术选型和架构设计
引言 分布式IM即时通讯系统本质上就是对线上聊天和用户的管理。 针对聊天本身来说,最核心的需求就是:发送文字、图片、文件、语音、视频、消息缓存、消息存储、消息未读、已读、撤回,离线…
-
IM专题:服务化架构IM系统(1)—架构解读
前面,我们分析了单体架构 IM 系统(IM专题:单体架构IM系统(1)),在日活量低(DAU < 2000)、开发人员少(1位前端+1位后端+1位架构师)、开发周期短(两周时…
-
自研IM系统之监听ChannelInactive触发用户下线的一个坑
最近在一套自研的IM系统上遇到了一些意外的bug,本文特地记录下遇到的场景,并且和大家分享下。 原有im设计 主播用户进入到直播间内时候,正好和im服务器建立了长连接,但是由于主播…
-
IM专题:分层架构IM系统(19)—分布式三高分析
前面通过 18 篇文章,非常系统地分析了 IM 的分层架构、每一层的核心职责和关键设计、以及基于分层架构下核心功能逻辑的实现。 分层架构的 IM 系统肯定是分布式部署,作为 “分层…
-
IM专题:分层架构IM系统(18)—系统消息逻辑实现
IM 消息中除了点对点的私信消息和群消息外,还有由 “系统” 发给用户的 “系统消息”。 系统消息通常包括两类:一类是由系统单独发给一个用户的私信系统消息,比如用户下单或支付后,系…
-
IM专题:分层架构IM系统(17)—未读数逻辑实现
在 IM 系统中,“未读数” 是一个非常核心的概念。 首先,从产品体验上,用户登录之后,往往是由消息 “未读数” 引导用户后续的操作;其次,“未读数” 实现逻辑直接影响了上层业务的…
-
IM专题:分层架构IM系统(16)—多媒体逻辑实现
现在 IM 系统已经不仅限于文本消息的通讯了,多媒体数据占据越来越多的比重,比如:文件传输、语音通话、视频通话等。 在前面的文章(IM专题:IM需求分析模型)中我们分析过,“多媒体…
-
IM专题:分层架构IM系统(15)—状态同步逻辑实现
在 IM 系统中,“用户状态” 通常指用户的离线和在线状态;在一些企业 IM 系统应用中,会对用户的状态进行扩展,比如:“会议中”、“疯狂编码中”、“发热中” 等等;对于前一类用户…
-
IM专题:分层架构IM系统(14)—群消息逻辑实现
前面我们分析了 “点对点消息” 的实现逻辑(IM专题:分层架构IM系统(12)—消息收发逻辑实现),今天分析 IM 群消息逻辑。 在之前的文章分析过,“私信消息”(即点对点消息)属…
-
IM专题:分层架构IM系统(13)—时间轮方案实现
在上一篇 IM专题:分层架构IM系统(12)—消息收发逻辑实现 文章中,我们分析了 IM 的分层架构中的消息收发逻辑;为了实现消息的 “及时性” 和 “可靠性”,将整个消息收发流…
-
IM专题:分层架构IM系统(12)—消息收发逻辑实现
“消息收发” 是 IM 系统最最核心的业务逻辑模块,本篇文章是整个【IM专题】的核心! IM,即 “即时通讯”,要求消息具备 “及时性” 和 “可靠性”: 及时性,要求消息的收发需…
-
IM专题:分层架构IM系统(11)—登录和登出逻辑实现
通过前面 10 篇文章,对 IM 系统的分层架构设计,以及入口层 Entry、路由层 Router、数据访问层 Das 等每一层的核心职责和关键逻辑进行了深度剖析。 今天开始分析 …
-
IM专题:分层架构IM系统(10)—Das领域模型设计
通过前面对 IM 分层架构系统的学习,我们已经了解了入口网关层 Entry、路由层 Router 和数据访问层 Das 的核心职责和逻辑设计,今天我们对 IM 系统最关键的数据结构…