Realtime chat, sync & collaboration

9 题

  • 聊天系统

    设计一款 WhatsApp 风格移动即时通讯 App 的客户端架构——连接管理、消息状态、离线存储与加密,全都必须在不稳定的移动网络下扛得住。

    预览
  • Chat Service

    为数亿同时在线用户设计一套聊天产品背后的后端基础设施——有状态的连接服务器、消息存储,以及群组扇出。重点在基础设施:连接机群、存储 schema,以及大规模下的扇出。

    预览
  • Collaborative Shopping

    设计一套协作购物体验:多人实时共用同一个购物车,可以并行加入与移除商品,并由指定的其中一位参与者代表整个群组结账。

    预览
  • 文件同步系统

    设计文件同步系统。请覆盖File chunking strategy and content-hash based deduplication across users, Delta sync: rsync-style block diffing instead of re-uploading whole files, Metadata service (file tree, versions)...

    免费指南
  • 即时通讯系统

    设计即时通讯系统。请覆盖WebSocket connection management at scale: a connection registry mapping user/device to the gateway instance holding their socket, Message delivery semantics: at-least-once delivery with...

    免费指南
  • 协作文档系统

    设计 协作文档系统 的实时协作编辑——多位用户同时在同一份文档里打字,并看到彼此的编辑正确收敛到一致。

    预览
  • 云盘系统

    把 云盘系统 设计成一套带权限管控的文件平台——文件夹层级、共享云端硬盘,以及能横跨数十亿文件与第三方集成的访问控制。

    预览
  • Real-time Multiplayer Game

    为实时多人游戏设计一套权威服务器 (authoritative server)。涵盖匹配 (matchmaking)、以 tick 为单位的权威模拟、client-side prediction 与 reconciliation、低延迟的 UDP/WebSocket 状态同步、lag compensation、防作弊,以及区域服务器。

    预览
  • Live Comments

    设计一套实时评论系统,把单场直播事件的评论实时扇出给数百万名同时在线的观众。涵盖 pub/sub 扇出、热分区与名人效应处理、背压、洪峰下的采样与速率整形、顺序与吞吐量的权衡,以及临时(ephemeral)与持久存储。

    预览