Skip to content

Design: "following" feed subscription strategy (fanout-on-read vs. fanout-on-write) #19

Description

@iduartgomez

Open design question split out from tracking #8.

Question

How does a client assemble the "following" timeline?

Options

  • Fanout-on-read (subscribe to N contracts): client subscribes to each followed user's posts contract and merges locally. Scales linearly with follow count; cold-start is expensive for users following many accounts.
  • Fanout-on-write (follower contract): writer pushes a notification to each follower's inbox contract on publish. Cheap read, expensive write — bad for users with many followers.
  • Hybrid: fanout-on-read for normal accounts, fanout-on-write for high-follower accounts, or vice versa.

Considerations

  • Depends on the outcome of the per-user-vs-global design issue — if posts stay global, this question collapses.
  • Affects notification design (the Webapp notifications bullet uses the same machinery).

Outcome

Decision recorded here, then drives the Discovery workstream subscription model and the Webapp notifications design.

Parent: #8

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions