I already get rate-limited like crazy on lemmy and there are only like 60,000 users on my instance. Is each instance really just one server or are there multiple containers running across several hosts? I’m concerned that federation will mean an inconsistent user experience. Some instances many be beefy, others will be under resourced… so the average person might think Lemmy overall is slow or error-prone.
Reddit has millions of users. How the hell is this going to scale? Does anyone have any information about Lemmy’s DB and architecture?
I found this post about Reddit’s DB from 2012. Not sure if Lemmy has a similar approach to ensure speed and reliability as the user base and traffic grows.
https://kevin.burke.dev/kevin/reddits-database-has-two-tables/
That would have to be a completely new version of ActivityPub, and would likely render it non-backwards-compatible (or at least things would have to still do all the old version stuff to interop with anything not on it). This has happened before (see OStatus and Diaspora vs current things using ActivityPub).
OStatus was based on Atom (like RSS) and WebStreams (aka PubSubHubub), which was basically a pull system with a real-time notification layer on top (that could offload the fan-out work of notifications to more centralized PSH servers), and things moved away from that in favor of the more real-time ActivityPub protocol.
I mean, I hate XML as much as the next guy, but I think there was maybe a little too much baby (general architecture) in with that bathwater (specifics of Atom/XML/Microblogging-oriented stuff).