Telegram 是如何做到十几个万人群还是如此流畅的?

2023-07-26 08:29:16 +08:00
 airbotgo
1 、Android 、iOS 都非常流畅,除了 Web 网页版有时候略卡
十几个万人群,要做到这种流畅程度,有哪些值得学习的?

2 、本地缓存极少
设置本地缓存仅保存 1 周,所有内容存储云端。目前本地缓存总共占 300M 。

3 、多端同步
Android 、iOS 、Web 三端都在使用,同步做得非常好。它还包括 Windows 、Linux 、macOS 等客户端,如此多的平台支持,同步功能能做到如此程度,简直奇迹。

我的日常使用:
1 )聊天沟通;
2 )听歌(自己上传的音频);看 MV ( B 站收集的音乐视频);
3 )文件备份(中文搜索很烂,目前加标签、主动加分隔符号将就用);
4 )树洞(建个私有频道,写些乱七八糟的东西);
5 )结合 Tasker + 脚本,进行指定图片、短信的备份;

有没有大佬就 1 、2 个点分析下自己的见解,Telegram 有哪些值得学习的地方?
17115 次点击
所在节点    Telegram
96 条回复
gosrider
2023-07-26 09:24:55 +08:00
@yyzh #5 去加载下不同群组的聊天记录试试,我刚打开内存占用 100m ,随便加载了下群组的消息,现在到了 1G 多
codeisjobs
2023-07-26 09:25:38 +08:00
各平台都是用各原生代码写的。技术先进,代码规范,极致的优化,没有乱七八糟的功能占用性能,吊打一众跨平台方案。
jZEdn7k4
2023-07-26 09:35:32 +08:00
本地缓存这么小?我日常用没加过超过 20 人的群,总共就几个群,缓存好几个 G ,你那个十几万人的群只是通知 channel 吧,不是所有人都能发消息的
dynastysea
2023-07-26 09:38:27 +08:00
@CocoCoding 技术上本身问题就不大,消息收发这个可以理解为本身每个人就是一个分布式的客户端,几百人和几千人对客户端来说其实没啥区别。只不过是后端负载大点罢了。但是后端的问题其实也不难解决。难的确实是政策,限制太严格了,以前钉钉还可以搞万人群。现在直接一刀切,限制 500 人。
dynastysea
2023-07-26 09:45:34 +08:00
tg 本身我觉得没啥值得学习的,wx 做的比它更好。wx 在 IM 的技术层面真的做的足够简洁和高效(它的消息收发原理简单到很多不懂技术的讲讲都能听得懂,但市面上很多的 IM 都把这套方案做的很复杂)。很多人其实想不到微信和 qq 邮箱的核心原理是一样的。。。
多说一点,单纯从技术层面看,不要看不起国内互联网的技术,单纯互联网 app 这块来说,国内程序员的水平真的很强。。。因为经历过很多用户的洗礼以及各种奇葩变态需求的考验,而且互联网应用本身其实没太高技术含量,在这种技术门槛不高的地方,国内的程序员能卷出花来。当然不是说我们真的很强,在基础领域、创新方面我们很差。只不过中国人拥有人口优势,在不需要做技术突破的场景下,我们是可以卷上天的。
C603H6r18Q1mSP9N
2023-07-26 09:47:48 +08:00
用的共享 socket ,简单理解 主服务器 长链接 10 个客户端,10 个客户端再链接 10 个;很部分压力转接到客服端了
securityCoding
2023-07-26 09:54:00 +08:00
聊天消息的包很小,seq+batch+预加载
me1onsoda
2023-07-26 10:02:27 +08:00
钞能力吧,内存够大都好说
hakr
2023-07-26 10:04:50 +08:00
确实厉害, 比起 wx 来强太多了
wulili
2023-07-26 10:11:51 +08:00
十几个万人有啥用,又不是每个人都能发消息,这种群上百万人都没问题
wx 要比它复杂的多
dougy592
2023-07-26 10:19:07 +08:00
@wulili #30 是每人都能随便发
pkoukk
2023-07-26 10:24:09 +08:00
@dynastysea #25 所以锅在张小龙?产品垃圾?
hubaq
2023-07-26 10:29:55 +08:00
@pkoukk 锅在流量变现
yolee599
2023-07-26 10:34:42 +08:00
确实,一线城市的色色群都是十万人以上的,每个人都能发消息,每次打开未读消息都有几万条,但还是很流畅
icebow
2023-07-26 10:42:51 +08:00
不明白为什么总是有人说:又不是十万人都发消息,难道微信 500 人群每个人都在发消息?微信该卡还是卡
freepoint
2023-07-26 10:59:29 +08:00
那么问题来了:Tg 上你们都关注什么频道和群组?
heyleo
2023-07-26 11:47:57 +08:00
来吧,献出大家的电报群
mcluyu
2023-07-26 11:54:19 +08:00
其他 IM 的群好像也不卡吧, 人数限制那应该是其他原因,不是因为会卡吧
lqcc
2023-07-26 11:57:11 +08:00
@unafraid7580 请问如何将微信迁移到 tg ?
2000wcw
2023-07-26 12:18:37 +08:00
@dynastysea 对普通用户来说,流畅好用就是先进,谁会管你架构是不是最 NB 的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/959739

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX