跳到主要内容

20 篇博文 含有标签「Architecture」

系统架构设计

查看所有标签

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

· 阅读需 34 分钟

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

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

面试题:设计短链接系统——短码怎么生成才不碰撞、跳转用 301 还是 302、读写比 100:1 的存储与缓存怎么选?

· 阅读需 9 分钟

这是「每日一题」专栏的第十八篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 分布式限流怎么做,今天按轮换回到系统设计方向,兑现昨天的预告:短链接系统。8 月 12 日已经写过一版 基础篇,今天这版是进阶篇——聚焦预告点名的三个硬核考点:短码怎么生成才不碰撞、跳转到底用 301 还是 302、读写比悬殊的存储与缓存怎么选,顺便把基础篇里「跳转一律用 302」的简化结论升级成完整决策框架。

面试题:设计实时协作文档系统:多人同时编辑同一份文档怎么不冲突?OT 和 CRDT 各自怎么运作、怎么选?

· 阅读需 8 分钟

这是「每日一题」专栏的第十五篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 接口幂等,今天按轮换回到系统设计方向,聊上一篇预告的题:实时协作文档系统。

面试题:设计一个秒杀系统,怎么扛住瞬时洪峰、又怎么防超卖?

· 阅读需 10 分钟

这是「每日一题」专栏的第九篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 分布式事务,今天按轮换到系统设计方向,聊一道电商场景出镜率最高、也最考验工程功底的题:设计一个秒杀系统。

LLM 流式响应后端工程:SSE、背压、超时与取消传播的实战细节

· 阅读需 10 分钟

流式输出(streaming)已经是 LLM 应用的默认形态——用户等不了非流式的 TTFB,ChatGPT 系的打字机效果也成了产品预期。但对后端工程师来说,SSE 协议本身只有半小时的学习成本,真正的工程难点在异步管道的生命周期管理:客户端慢了怎么办?上游断了怎么办?用户关页面了,上游还在生成、还在烧钱,怎么办?这篇文章聊的就是这些。

Qwen3.8-27B 架构深读:Gated DeltaNet 混合线性注意力与 262K 长上下文

· 阅读需 8 分钟

2026 年 8 月中旬,Qwen 开源了 Qwen3.8-27B:270 亿参数的稠密(Dense)原生多模态模型,Apache 2.0 协议。两个数字让它在一众开源模型里显得特殊——262K 原生上下文(YaRN 可外推到 1M)和量化后 24GB 显存可部署(RTX 3090/4090 级别)。官方 benchmark 里,它在 SWE-bench Pro 上比 Claude Opus 4.6 Max 高出 8.3 分,QwenSWEBench 上领先 15.2 分。

对做工程的人来说,这条新闻的真正信号不是"又一个榜单刷分",而是:长上下文 + 强 Agent 能力开始向消费级硬件下沉。这背后是架构层面的变化——Qwen3.8-27B 的 64 层里只有 16 层是标准 Attention,其余 48 层换成了 Gated DeltaNet 线性注意力,按"三层线性 + 一层完整 Attention"循环排列。这篇文章拆解这个设计到底解决了什么问题、KV Cache 的账怎么算、以及部署时要注意什么。

多 Agent 协作架构:Orchestrator-Worker 之外,任务依赖图、上下文隔离与结果合并的工程实践

· 阅读需 10 分钟

单 Agent 的瓶颈很直观:上下文窗口有上限、一次只能专注一件事、越长的对话越容易跑偏。于是大家开始拆多 Agent——一个检索、一个写代码、一个质检、一个做安全审查。但真正上手做过的人会发现,多 Agent 协作的难点从来不是"让 Agent 会聊天",而是编排(Orchestration):任务怎么拆、谁先谁后、上下文怎么隔离、结果怎么合并、一个挂了怎么办。

本文不重复上一篇 A2A 协议(A2A 协议深挖),那解决的是"Agent 之间怎么发现和通信"的协议层;这篇解决的是"有了通信之后,你怎么组织它们干活"的工程层。协议是网卡,编排是大脑。

A2A 协议深挖:Agent 之间怎么协作?AgentCard、Task 状态机与 SSE 流式传输全解析

· 阅读需 9 分钟

很多人到现在还分不清 MCP 和 A2A 的区别,把它们当成一回事。一句话讲清:MCP 是给 Agent 接外设的 USB 接口,A2A 是给 Agent 联网的网卡。MCP 让一个 Agent 用统一方式调用工具、文件、数据库;A2A 让多个 Agent 之间互相发现、协商、委托任务。上篇拆解了 MCP 2026-07-28 新规范(MCP 规范解读),这篇聊它的姊妹协议 A2A。