即时通讯
-
IM专题:分层架构IM系统(7)— Router维护
通过前面文章的分析,我们已经明确,Router 的核心职责是作为中央存储记录在线客户端的连接状态,Router 在本质上是一个内存数据库。 内存是一种易失性的存储,既如此,Rout…
-
IM专题:分层架构IM系统(6)— Router能力分析
在分层架构 IM 系统中,路由层 Router 的核心职责是作为中央存储记录在线用户的连接状态,见下图。 Router 其本质是一个巨大的 Map<uid, &n…
-
IM系统整体架构模式的问题和解析
今天咱们讨论一个关于IM系统整体架构模式的问题哈! IM系统从架构模式上包括 【介绍人模式】和 【代理人模式】;介绍人模式也叫直连模式,消息收发不需要服务端的参与,即客户…
-
IM未读数模型相关问题和解析
我们今天继续IM系统的相关话题哈! IM用户登录后,会首先在客户端看到一个未读消息的红色标记的数字,即消息未读数,这个未读数是怎么生成的呢?关于IM系统【未读数模型】的相关描述,下…
-
RPC在大型网站系统中调用的相关问题和解析
问题:RPC,即远程过程调用,通常用在后端集群中服务之间的通讯上; 从广义上来说,服务访问数据库或缓存,也是一类RPC; 前端访问后端,同样也是RPC。 我们拿一个大型网站举例,前…
-
IM专题:分层架构IM系统(5)— Entry设计
在分层架构中,Entry 向客户端提供了 TCP 长连接的接入能力,并对这些长连接的活性进行保活维护(IM专题:分层架构IM系统(1)—架构解读),所以在 Entry 服务内部有两…
-
IM消息收发模型问题解析
问题: IM是互联网中非常典型的独立系统,麻雀虽小但五脏俱全,非常值得深入研究和探讨;继上次IM相关题目之后,我们继续讨论IM相关话题。 关于IM系统【消息收发模型】的相…
-
IM存储问题解析
问题:对IM系统的消息存储应该如何设计呢?(说的通俗一些:如何设计IM系统的消息表?该题目不会故意为难大家,没有上过IM课的同学也是可以思考和判断的)关于【IM消息存储模型】的相关…
-
AV1编码器的优化及其在流媒体和实时通讯中的应用
编者按:AV1视频压缩格式是由开放多媒体联盟 (AOMedia)开发,并于2018年初最终确定。AV1具有功能强大的编码算法,与其前身VP9相比,AV1的压缩性能提升了30%以上。…
-
IM专题:分层架构IM系统(4)— Entry心跳算法
在前面的技术短文(IM专题:分层架构IM系统(1)— 架构解读)中,我们已经非常明确入口层 Entry 的核心职责,即面向客户端提供 TCP 长连接的接入能力,并维护这些长连接。 …
-
对安全即时通讯软件的流量分析攻击(下)
在上一篇文章《对安全即时通讯软件的流量分析攻击(上)》中,展示了流行的IM应用程序如何将其客户端的敏感信息泄漏给仅监视加密流量的攻击者。具体来说设计了流量分析攻击,使攻击者可以识别…
-
对安全即时通讯软件的流量分析攻击(上)
近年来,像Telegram,Signal和WhatsApp这样的即时消息(IM)应用程序变得非常流行。此类即时消息服务一直是被持续监视和审查的目标,因为这些服务是社会和政治敏感主题…
-
IM专题:分层架构IM系统(3)— Entry部署模式
在前面的一篇技术短文(IM专题:分层架构IM系统(1)— 架构解读)中,对【分层架构】进行了详细分析;今天我们聊一下【入口层】Entry 的部署模式。 Entry 作为 IM 系统…
-
IM专题:分层架构IM系统(2)— 局部演进
在电商业务日活几百万的情况下,IM 系统采用分层架构方式,如下图。 分层架构的 IM 系统,整体上包含了【终端层】、【入口层】、【业务逻辑层】、【路由层】、【数据访问层】和【存储层…
-
IM专题:分层架构IM系统(1)— 架构解读
今天开始,进入 IM 系统的【分层架构】阶段! 在日活只有几千的时候,IM 系统采用【单体架构】方式进行实现,是完全没有问题的。在单体架构 IM 系统(如下图)这种方式下,如果用户…
-
单体架构IM系统4(终篇)
基于 http 短轮询模式的单体架构的 IM 系统见下图,即客户端通过 http 周期性地轮询访问 server 实现消息的即时通讯,也就是我们前面提到的 “信箱模型”。“信箱模型…
-
单体架构IM系统3:消息实时性优化方案
在上一篇技术短文(单体架构IM系统2)中,我们讨论了 “信箱模型” 在单体架构 IM 系统中的应用,“信箱模型” 见下图。 客户端 A 将 “信件” 投入到客户端 B 的 “信箱”…
-
单体架构IM系统2:用户状态维护+点对点消息收发+云消息
在上一篇技术短文(单体架构IM系统1:业务背景+研发策略+技术选型)中,我们讨论了在 “用户规模小、开发人员少、开发时间短” 的业务背景下,采取 “怎么简单怎么做,怎么快怎么来” …
-
单体架构IM系统1:业务背景+研发策略+技术选型
先直接抛出业务背景! 有一款游戏,日活跃量(DAU)在两千左右,虽然 DAU 不高,但这两千用户的忠诚度非常高,而且会持续为游戏充值;为了进一步提高用户体验,继续增强用户的忠诚度,…
-
IM 1对1聊天系统架构和存储如何设计
在众多的软件中,聊天功能是不可或缺的一个功能模块,或是用户和用户,或是用户和客服,都需要一个能够即时沟通的功能。 那么一个IM(InstantMessaging)的1对1聊天系统架…