最近开发遇到一个场景,记录一下。 场景:用户可以举报别人或者某个评论,管理员处理举报,系统将处理的反馈发送给所有举报者。 这个,仔细一想,不就是经典的社交平台信息流(Feed)系统设计问题吗?尤其是当涉及到「高影响力用户」(如被几百万人关注的用户)发布内容时,系统需要高效地将该内容分发到大量用户的 Feed 中,确保性能和延迟可控。

整个场景,可以简化为如下:

  1. 系统有用户user;
  2. 用户间可以相互关注;
  3. 用户可以发布 Post;
  4. 用户在信息流中,可以看到自己关注的人发布的Post;
  5. 场景是,如果一个用户被很多人关注了(比如几百万人),这个用户发布一个 Post,如何有效的展示在这几百万人的信息流中呢?

以下是简单的系统设计。惯例,我设计完,让 AI代写,然后 Review。


🎯 目标

设计一个支持高并发、高性能、可扩展的社区系统,重点解决信息流分发的问题,尤其是粉丝数巨大的用户发帖时,系统如何高效地将内容推送到其粉丝的 Feed。


🔧 技术栈回顾


✍️ 基础数据模型设计

用户表(User)

CREATE TABLE users (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(255) UNIQUE,
    created_at DATETIME
);