So trying to not go into the technical details too much but when two instances federate with each other, they literally share all of the community, post and comment data with all other federated servers. But it’s the job of the host do manage that passing of data.
Now once the host decides to go offline, that activity of informing all other instances of “hey here’s something new about XYZ community!” no longer happens, but each instance still has the historical data from prior to them going offline. So you can still see that old data and still technically reply to it. Just that the host won’t tell other instances that you did reply.
Lets assume you have an account on Lemmy.world. Let’s also assume you see some post on Lemmy.ml. And finally lets assume you have a friend that’s actually on Mastodon. When you reply to that post on Lemmy.ml, Lemmy.world sends your reply to Lemmy.ml and then Lemmy.ml tells Mastodon (and all other federated instances) about your reply. But if Lemmy.ml decides to go offline, Lemmy.world has no where to send that reply to, so it’s only kept locally on Lemmy.world. The user on Mastodon can’t see it as their instance wasn’t told about it from Lemmy.ml as it went offline.
So lets say lemmy.world and then lets take beehaw.org (I know they are defederated lets assume they are not) for example. All the posts and comments which are hosted by lemmy.world on hard drives or servers, are also hosted by beehaw.org and vice versa? So the amount of data is actually doubled in size?
Yep. Add in a 3rd instance and now you have 3 copies of the database, essentially. It’s just that each instance is responsible about telling the fediverse when updates occur to communities on their instance.
Correct. Images are actually hosted on a separate service along side the instance itself. So if said instance goes offline, all of the images go along with it (unless you linked to lmgur or something else instead).
So trying to not go into the technical details too much but when two instances federate with each other, they literally share all of the community, post and comment data with all other federated servers. But it’s the job of the host do manage that passing of data.
Now once the host decides to go offline, that activity of informing all other instances of “hey here’s something new about XYZ community!” no longer happens, but each instance still has the historical data from prior to them going offline. So you can still see that old data and still technically reply to it. Just that the host won’t tell other instances that you did reply.
Replying to my own post with an example…
Lets assume you have an account on Lemmy.world. Let’s also assume you see some post on Lemmy.ml. And finally lets assume you have a friend that’s actually on Mastodon. When you reply to that post on Lemmy.ml, Lemmy.world sends your reply to Lemmy.ml and then Lemmy.ml tells Mastodon (and all other federated instances) about your reply. But if Lemmy.ml decides to go offline, Lemmy.world has no where to send that reply to, so it’s only kept locally on Lemmy.world. The user on Mastodon can’t see it as their instance wasn’t told about it from Lemmy.ml as it went offline.
So lets say lemmy.world and then lets take beehaw.org (I know they are defederated lets assume they are not) for example. All the posts and comments which are hosted by lemmy.world on hard drives or servers, are also hosted by beehaw.org and vice versa? So the amount of data is actually doubled in size?
Yep. Add in a 3rd instance and now you have 3 copies of the database, essentially. It’s just that each instance is responsible about telling the fediverse when updates occur to communities on their instance.
If the fediverse gets really big, lets say the size of reddit, it may be hard for all the different instances to store all that data on their servers
Ya, ActivityPub isn’t without it’s issues… but luckily it’s all just text. Much of that can be compressed significantly.
I assume its only text content that is shared between servers? Not uploaded images and the like?
Correct. Images are actually hosted on a separate service along side the instance itself. So if said instance goes offline, all of the images go along with it (unless you linked to lmgur or something else instead).