Been perusing the ActivityPub protocol and I have concerns BUT am also aware that I could easily be misunderstanding some things.

1) When a user creates a new post, their instance has to fan it out to every follower with an HTTP POST per follower? So fanout scales with the cardinality of the follow graph, not the federation graph? Do I have that right?

2) There doesn’t appear to be a backpressure mechanism between servers?

Few failure scenarios that worry me.

1) A post goes viral and starts getting tons of engagement. Each engagement requires an individual HTTP POST back to the original instance? What happens if that server can’t keep up and requests time out or get rejected? How do you prevent retries from backing up across the fediverse?

2) If two high-follower users are replying to each other, the fanout is going to get immense fast.

If two people with 100k followers each (disjoint sets) are replying to each other how are their instances expected to handle that volume?

This protocol seems inherently uncacheable? How are instance operators able to keep costs under control given that?

A prediction: big instances are going to build their own out-of-band federation protocol to stream updates to each other such that servers fan out to their own users, rather than servers fanning out to every user.

@youfoundryan i predict smaller instances will cap follower limits for their users. a 1M follower acct will essentially be its own instance

@junosz what happens if a 1M follower account boosts a post from a user on a small instance?

Follow

@youfoundryan @junosz

It's treated with the same conveyance as a toot directly from the 1M follower account.

@EubieDrew @junosz Does engagement on the boosted toot flow through to the original toot?

@EubieDrew @junosz that’s my concern. a small instance has to be prepared for a toot from one of its users to go viral at any moment, which could turn into a flood of inbound requests as favs/boosts/replies roll in

@youfoundryan @junosz

It would take a really extreme case to cause a problem, but yes that is remotely possible.

@junosz @EubieDrew @youfoundryan I didn’t have “viral toot flood contingency planning” anywhere on my bingo sheet for 2022

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.