System Design Interview

设计 YouTube 设计 YouTube 重要组件:元数据存储、转码服务、视频存储、CDN、API 服务 重要概念:流式传输(边下边播)有对应的协议 视频转码:DAG 调度一系列任务,视频、音频、元数据,视频检查、缩略图生成、添加水印、编码等 错误处理:重试、兜底、告警、扩容等 成本优化:针对长尾,热门走 CDN 冷门走存储,冷门少编码、按需编码 流式传 …

book
Alex Xu

Kafka权威指南

初识 Kafka 初识 Kafka 消费者群组从主题读取消息 集群中的分区复制 Kafka 为什么移除了 ZooKeeper Kafka 自 4.0 版本起彻底移除对 ZooKeeper 的依赖,核心是 ZooKeeper 的局限性已成为 Kafka 规模化发展的瓶颈,替换为自研的 KRaft(Kafka Raft)架构:

book
Gwen Shapira & Todd Palino & Rajini Sivaram & Krit Petty

长轮询

长轮询 长轮询(Long Polling) 是一种基于 HTTP 协议、用于实现准实时数据推送的通信模式。它通过让服务器 “挂起” 请求,直到有新数据或超时才返回,大幅减少无效请求,兼顾兼容性与实时性。 流程 客户端发起请求:前端发送 HTTP 请求(通常携带上次数据标识,如 lastId),并设置超时(如 30s)。 服务器挂起请求:服务器收到请求后,不 …

memo
系统设计

数据密集型应用系统设计

大纲 大纲 复制 复制 复制为了什么?故障仍可用、地理上接近用户、读副本增加吞吐量 复制与备份的区别是什么?备份是存旧快照可回滚,复制是数据的实时同步 复制的核心算法主要有哪三种? 单主复制:一个副本是主节点,其余的是从节点;写入发送给主节点,其余节点通过主节点发送的复制日志应用所有写入,mysql 中的 binlog 逻辑日志,raft 基于单主节点; …

book
Martin Kleppmann