Twitter/Timeline 系统设计深度解析:如何优雅地处理海量动态
这个一个老生常谈的系统设计话题,不妨再回顾一下。 当你打开 Twitter、微博或者小红书,滑动手机屏幕,一条条动态实时出现在你眼前——这个看似简单的”刷微博”动作,背后是每秒处理数十万条动态生成的复杂系统。本文深入解析 Feed 流系统的核心架构,从推模式到拉模式,从缓存策略到分页设计,完整呈现这个社交平台核心基础设施的设计之道。
这个一个老生常谈的系统设计话题,不妨再回顾一下。 当你打开 Twitter、微博或者小红书,滑动手机屏幕,一条条动态实时出现在你眼前——这个看似简单的”刷微博”动作,背后是每秒处理数十万条动态生成的复杂系统。本文深入解析 Feed 流系统的核心架构,从推模式到拉模式,从缓存策略到分页设计,完整呈现这个社交平台核心基础设施的设计之道。
“你在付款时点击’支付’按钮两次,账户会被扣两次钱吗?” 这个问题暴露了支付系统最核心的挑战:在不可靠的网络世界里,如何保证每一笔钱只扣一次? 在此我们探讨一下支付系统中的幂等性设计,特别是与第三方支付网关交互时的最佳实践。
“Designing a chat system like WhatsApp is the FizzBuzz of System Design.” 这是senior面试中一个比较高频的系统设计,本文将尝试从 0 到 1 设计一个生产级的实时消息系统。
Metrics、Logs、Traces——这套经典三支柱撑起了过去十年的可观测性体系。但当系统里的”执行者”从确定性代码变成了 AI Agent,传统的观测手段开始出现盲区。今天我想聊聊可观测性在 AI 时代面临的新挑战,以及工程师该怎么应对。