4 ms·
The article mentions a server in Japan that has a million users. Assume they each follow 15 users, half on their own instance, half elsewhere, and that off-inst
by Arnt 6y ago
The article mentions a server in Japan that has a million users. Assume they each follow 15 users, half on their own instance, half elsewhere, and that off-instance followees are followed by an average of three users. If it used RSS, that server would issue 2.5m HTTP GET requests every few minutes in order to update the feeds, even the feeds where nothing has changed. Of course it could/would use per-feed adaptive fetch frequency and use HTTP if-modified-since, but all that's only damage limitation.
This happens because RSS network activity is mostly O(users × time), not O(activity).
- robjan 6y agoJust throwing ideas out there but each instance could have its "firehose" feed and ping discovery services / followed instances when there is a relevant update. Not sure if there is any benefit over just sending the update and part of the ping payload.
- ratww 6y agoActivityPub "evolved" out of ActivityStreams, which were an extension of plain Atom feeds. Basically it was an Atom feed with some extra fields. The way we got it to work efficiently was by not using polling, but rather by using a push protocol called PubSubHubbub/WebSub that was championed by Google. PubSubHubbub/WebSub is compatible with RSS, so it's entirely possible to do what GP is proposing.
- Arnt 6y agoOh, I see. I thought the pushing was more tightly integrated than that. Anyway, gluing PubSubHubbub to RSS doesn't seem like a meaningful improvement over gluing it to Atom. Not a simplification either.