默认

一套亿级用户的IM架构技术干货(上篇):整体架构、服务拆分等

查看数: 447031 | 评论数: 41 | 收藏 19
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-03-15 13:50

正文摘要:

1、引言 经历过稍有些规模的IM系统开发的同行们都有体会,要想实现大规模并发IM(比如亿级用户和数十亿日消息量这样的规模),在架构设计上需要一些额外的考虑,尤其是要解决用户高并发、服务高可用,架构和实现细 ...

评论

helloc 发表于 25 天前
引用:mahongcan 发表于 2025-06-03 13:18
**** 作者被禁止或删除 内容自动屏蔽 ****

我感觉是的,毕竟只在login和客户端之间提到了长连接
mahongcan 发表于 12 个月前
您好,想问下,每个服务的通信用的什么? rpc吗
myl 发表于 2 年前
太干了
softbin 发表于 2 年前
实在,受益匪浅
ZJoker 发表于 3 年前
大佬,goim那套方案和这个比,看着goim好像简化了很多少东西。。。
苏门答腊伟 发表于 3 年前
引用:JackJiang 发表于 2021-06-15 14:47
就这么说,如果把login->router这两个东西合二为一,不拆分开,你仔细想想是不是就好理解了。
作者之所 ...

还是没想明白为什么存储router的ip/port,是个无状态的下游才对,login无论调用哪个router都是一样的,这里的存储是为了什么呢。
huitailang66 发表于 3 年前
这效率太高了吧
JackJiang 发表于 3 年前
引用:BrainWong 发表于 2022-09-29 23:01
膜拜膜拜,结合站上其他内容,内容很明白了。真想用C++撸出来,跑一跑是什么样子的

说干就干,不要等
BrainWong 发表于 3 年前
膜拜膜拜,结合站上其他内容,内容很明白了。真想用C++撸出来,跑一跑是什么样子的
二月风格 发表于 3 年前
引用:JackJiang 发表于 2022-09-06 22:24
是的,会有延迟,而且异步是不可控的。
如果要受控,应该用rpc

非常感谢大佬
JackJiang 发表于 3 年前
引用:二月风格 发表于 2022-09-06 22:08
从kafka消息写入到redis中会不会有一定延迟,造成消息实时性低的问题呢,主要这个过程是异步的

是的,会有延迟,而且异步是不可控的。
如果要受控,应该用rpc
二月风格 发表于 3 年前
引用:二月风格 发表于 2022-09-06 22:08
从kafka消息写入到redis中会不会有一定延迟,造成消息实时性低的问题呢,主要这个过程是异步的

想请教和学习一下大佬们的建议
二月风格 发表于 3 年前
从kafka消息写入到redis中会不会有一定延迟,造成消息实时性低的问题呢,主要这个过程是异步的
二月风格 发表于 3 年前
虚心请教,文中架构先写入kafka,通过kafka写入redis和mysql中,如果流量太大kakfa产生了消息堆积
用户刚登陆,从redis取到的最近数据会不会有缺失呢
营业中 发表于 4 年前
引用:zhyf888 发表于 2021-03-23 22:02
真是亿级?

真的是亿级的
nwuking 发表于 4 年前
这里的online服务是怎样设计,部署的时候是只部署一个,所有login都往这一个里记录吗?部署多个是不是要同步,那么这和一个有什么区别?如果多个不用同步,查找的时候是不是太慢了?

在线求解

JackJiang 发表于 4 年前
引用:LBY 发表于 2021-10-28 11:44
嗯,撇开文件存储,单纯是消息内容,IM服务直接访问数据库这种操作常见吗?这个分离的设计模式,感觉存储 ...

im里要存储的东西其实很简单,就那几样,相比传统的信息系统来说,简单多了,不用把它想什么啥哈的
LBY 发表于 4 年前
引用:JackJiang 发表于 2021-10-28 10:52
im里有各种文件的上传下载,这些都是存储,比如语音留言的AMR语音文件,图片消息对应的图片,大文件消息 ...

嗯,撇开文件存储,单纯是消息内容,IM服务直接访问数据库这种操作常见吗?这个分离的设计模式,感觉存储系统部分的工程实现不太好做
JackJiang 发表于 4 年前
引用:LBY 发表于 2021-10-28 10:39
想问站长一个问题:方案中,存储系统的意义有哪些?我们一般业务服务,都是直连数据库,做一些业务相关的数 ...

im里有各种文件的上传下载,这些都是存储,比如语音留言的AMR语音文件,图片消息对应的图片,大文件消息对应的文件,这些都需要存储管理起来

返回顶部