跳到主要内容

9 篇博文 含有标签「Distributed」

分布式系统相关

查看所有标签

面试题:设计一个 IM 即时通讯系统——百万长连接怎么撑住、消息怎么做到不丢不重不乱序、万人群的消息扩散怎么算账?

· 阅读需 34 分钟

这是「每日一题」专栏的第二十三篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇是 MySQL 索引与深分页,文末预告的分布式 ID 生成器在 8 月 16 日已经出过一版 基础篇,再写一遍是重复劳动,所以今天换成同属系统设计方向、但更贴近日常后端的一道硬题:IM 即时通讯系统。

这题的杀伤力在于它「看起来谁都能画个框图」:客户端、网关、业务层、存储,几笔就画完了。但只要面试官往下一问——「单机百万连接,内存要多少 GB?端口够用吗?」「网关到底是不是无状态?」「你说消息不丢,丢在哪几个时刻?」「顺序用什么保证,时间戳行不行?」「一万人群发一条消息,写放大是多少倍?」——画框图的人立刻熄火。今天把这五个追问的账全部算一遍。

面试题:分库分表之后怎么在线扩容?不停机把 4 库扩到 8 库,双写、影子表、数据校验与回滚怎么做?

· 阅读需 17 分钟

这是「每日一题」专栏的第二十篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇是 MoE 混合专家,今天按轮换回到后端/分布式方向,兑现昨天的预告:分库分表之后的在线扩容。这题的面试杀伤力很高——很多人张口就是「双写」两个字,但一追问「迁移期间读走哪边」「校验对不上怎么办」「出错怎么退回去」,就答不完整了。

面试题:分布式限流怎么做?令牌桶、滑动窗口各适合什么场景,为什么 Redis + Lua 是集群限流的标准答案?

· 阅读需 9 分钟

这是「每日一题」专栏的第十七篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 为什么 vLLM 是当前最快的 LLM 推理框架,今天按轮换回到后端/分布式方向,聊上一篇预告的题:分布式限流。

面试题:分布式事务怎么做?2PC、TCC、Saga 各解决什么问题、又各有什么坑?

· 阅读需 8 分钟

这是「每日一题」专栏的第八篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 KV Cache 与长上下文推理,今天回到后端/分布式方向,聊聊分布式系统里最经典、也最容易被问住的话题:分布式事务。