feed 流

feed

1 项目概述及目标

1.1 项目背景

练习使用

1.2 目标

打造个简单的 feed 流

2 需求分析

2.1 功能需求

2.1.1 场景

  • 活动流,例如在 Github 上看到的

  • Twitter 风格的新闻提要 / Facebook 风格的新闻源

  • 通知系统

2.2 调研

https://github.com/vivekn/resn

3 总体设计

采用推模式

角色

我们看看角色和每个角色需要的功能:

发送者
    发送状态:add_activity()

接收者
    关注:follow()
    读取Feed流:get_activity()
                                 send
                                  |
                                  | add_activity()
                                  |
                                  V
                              +-------+
                              | queue |
                              +-------+
                             /    |    ^    
                           /      |      \
                         / 2      |3       \ 1
                       /          |          \
                     V            V            \
    +-------------------------------------------------------+
    | +---------------+   +--------------+   +------------+ |
    | |               |   | +-----+-----+|   |            | |
    | |     self      |   | |other|other||   |  relation  | |
    | |               |   | +-----+-----+|   |            | |
    | +-------+-------+   +-------+------+   +------------+ |
    +---------+-------------------+-----------------^-------+
              |                   |                 |
              |                   |                 |
              | get_activity      | get_activity    | follow
              |                   |                 |
              |                   |                 |
              V                   V                 |

4 详细设计

5 传送门

Last updated