this post was submitted on 10 Jun 2023
2 points (100.0% liked)
Programming
13226 readers
3 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Thanks for the reply. If you don't mind, I still have few questions.
I understand the value of a distributed architecture and federation. What I wasn't sure about is the value of tons (thousands? hundreds of thousands? millions?) of small instances vs few hundred or thousand large ones.
It seems that federation would put more pressure on all popular instances, no? the more popular an instance, the more likely others to want to federate with it, the more work it needs to do to push data, the more calls, etc. I understand that relays could spread out the load, but you're just pushing the problem one more level. I already see wildly different numbers of comments on the same thread between the different instances depending on the home vs federated, with low usage (talking about <100 comments). It seems to take a long time for things to sync, and some comments don't seem to sync.
And while sure, your own personal instance of Lemmy might be up and fine, if the popular instances you federate with are down, you're essentially cut off still, right?
You have to moderate any instance you allow to federate with still, right? Like either you lock down which instances you want to federate with (have an allowlist) or you block abusive instances (have a denylist) either way it's a lot of management still. More flexible, for sure, but not exactly a walk in the park, right?
I think you sort of answer your own question when you wonder what the value of having tons of smaller instances versus a smaller number of larger ones as you discuss the stress of federation from the larger instances soon after. Similarly if content is split between multiple instances any single one going down is going to be less noticeable.
As for moderation, everything does not federate everywhere at once, there needs to be some interaction between the instances first (like subscriptions to communities) for things to really start transferring over. Yes, moderation will still take work, but you don't have to address the entire fediverse at once.
As for
I cannot say I would have explored the effects, so I can't really comment on the topic. If the delays are significant and there's straight up things not getting federated, that'd be an issue and should be fixed by the maintainers. Lemmy remains relatively new.
I'm not sure I have. I was saying you must have/will end up with few large instances PERIOD. There is just no way around it. Otherwise you have a discovery/usability problem. Absolutely 0 non-techies will setup their own Lemmy instance. It's not even reasonable to assume they could. All I do for work is setup cloud deployments of applications and build tools to maintain and monitor them, and I have 0 interest in setting up a Lemmy or Mastodon instance. I like Mastodon in theory, if the main instance maintainers shit the bed, create an account on another instance. But I'm not setting up my own instance.
For example, I'm into woodworking, selfhosting, programming, and cooking. I'm not setting an instance for any of that. I just want to know what are the popular instances that have woodworking, programming, and cooking communities and just subscribe to them. I'm not gonna go looking for hundreds of small instances all over the internet, nor am I gonna host my own.
Yes, that makes sense if the problematic aspects of another instance is just their content or culture. Like if there is a say ultra-religious instance, or a toxic incel instance, or a Nazi instance, etc. Sure, you never federate with them and you never have to worry about their culture.
This doesn't work for spammers/malicious actors instances though. As a spammer or malicious actor, all I have to do is setup dozens and dozens of random instances that are just constantly spamming every instance that's on a list somewhere. Forcing it to federate with my spam instances and putting load on them. As a bad actor, I actively come to you, not the other way around.
Then you're back to the allowlist, which breaks the "federation" idea in general or introduce a lot more mod/support cost needing to manually allow each instance that you "think" is not spam/malicious.
So finally in that a world of few inevitable large instances, and hundreds of thousands of small ones that are all polling/pushing activity to the big ones, that's just significantly more load on the system as a whole. There is no magic around cache, latency, inconsistency, slowness, etc except to be on the instance where you want to converse with people.
I tried googling for how ActivityPub scales to see if there is some write up and this came up for example https://lucumr.pocoo.org/2022/11/14/scaling-mastodon/
from that article: