But we already have horizontal scaling in the form of separate instances. We just need to do a better job staying spread out. Making individual instances bigger is not a good thing, it makes everything more centralized.
Something that might help is a (preferably semi-official) page to direct people to for signup, where it randomly directs you to sign up for any participating server. You could have participating servers give some kind of feedback on how much signup pressure they’re seeing to slow down incoming rates when they have too many new users too quickly (wouldn’t resolve something like Reddit dying, but might be generally useful to turn down extra redirects to you if you’re getting an influx from elsewhere).
The issue is that until accounts are more portable, getting sent to a bad server isn’t great. Ideally there would be a mechanism for users to mirror their account to a second server so they don’t lose everything if a server goes down as well.
tbh I was thinking about this today, and I think there is some merit to having the setup be slightly obtuse so that more of the people on any given thing are the kind of people who think this kind of tech is important, rather than people who don’t give a shit about that.
At least, I like when spaces are more densely that kind of person. But other people should have nice things too I guess.
I’d hate for this to become an echo chamber of people that understand federated services. That excludes a lot of people that have no interest in it that have valuable input.
Not really. They’re all connected anyways, and if they use an app they’ll probably never notice apart from the @instance.com theu have to put at the end of some communities
Making individual instances bigger is not a good thing, it makes everything more centralized.
I agree. I think one of the easiest ways to encourage users to bring up more instances is to minimize the requirements and steps needed to get a Kbin or lemmy instance running. Its not a very complex process to get an instance running, but it can be difficult to locate the relevant information you might need to spin up an instance without reaching out for support. That could end up putting people off of setting up an instance.
Is the blocker here that each instance is a single postgres/Lemmy process? I imagine a clustered inplementstion of the Lemmy backend could be used to shard individual communities to dedicated containers when they reach a given size, proxies through a community away load balancer? More to manage but would let instances scale up/down as needed. There are costs associated with this, but those of us who run instances do it because we like playing this game.
Yeah, from what I understand most instances are pretty much the modern day equivalent of a phpBB forum on a server in someone’s bedroom. This situation is basically an invitation for the sort of people who play with Kubernetes for fun, get one of them involved and a lot of these problems will be at least reduced a fair bit.
They desperately need to support horizontal scaling. I’m sure there are enough nerds that could help them out there.
But we already have horizontal scaling in the form of separate instances. We just need to do a better job staying spread out. Making individual instances bigger is not a good thing, it makes everything more centralized.
Something that might help is a (preferably semi-official) page to direct people to for signup, where it randomly directs you to sign up for any participating server. You could have participating servers give some kind of feedback on how much signup pressure they’re seeing to slow down incoming rates when they have too many new users too quickly (wouldn’t resolve something like Reddit dying, but might be generally useful to turn down extra redirects to you if you’re getting an influx from elsewhere).
The issue is that until accounts are more portable, getting sent to a bad server isn’t great. Ideally there would be a mechanism for users to mirror their account to a second server so they don’t lose everything if a server goes down as well.
I’ve been directing people to the awesome lemmy instances Github page because that’s what I used and it seems frequently updated
That’s too complicated for the average user.
Maybe but it’s a big point of the Fediverse
tbh I was thinking about this today, and I think there is some merit to having the setup be slightly obtuse so that more of the people on any given thing are the kind of people who think this kind of tech is important, rather than people who don’t give a shit about that.
At least, I like when spaces are more densely that kind of person. But other people should have nice things too I guess.
I’d hate for this to become an echo chamber of people that understand federated services. That excludes a lot of people that have no interest in it that have valuable input.
Not really. They’re all connected anyways, and if they use an app they’ll probably never notice apart from the @instance.com theu have to put at the end of some communities
It doesn’t require users to enforce. Individual instances should probably start having caps and close signups/invites occasionally.
I agree. I think one of the easiest ways to encourage users to bring up more instances is to minimize the requirements and steps needed to get a Kbin or lemmy instance running. Its not a very complex process to get an instance running, but it can be difficult to locate the relevant information you might need to spin up an instance without reaching out for support. That could end up putting people off of setting up an instance.
We need user caps on a per-instance basis tbh
And a community cap.
If it grows fast and hard it might happen naturally. lemmy.world is suffering already.
Ya I’d much rather lemmy.world set an actual user cap of what they can actually handle ^^
Just accepting users until your system stops working is a bad system.
I hear what you’re saying, but horizontal scaling also gives you improved reliability too, which is good for individual instances.
I for one would happily horizontally scale an instance I was running (which I am not for now) on my K8s lab. Why? Because I can and because I like it!
Is the blocker here that each instance is a single postgres/Lemmy process? I imagine a clustered inplementstion of the Lemmy backend could be used to shard individual communities to dedicated containers when they reach a given size, proxies through a community away load balancer? More to manage but would let instances scale up/down as needed. There are costs associated with this, but those of us who run instances do it because we like playing this game.
Yeah, from what I understand most instances are pretty much the modern day equivalent of a phpBB forum on a server in someone’s bedroom. This situation is basically an invitation for the sort of people who play with Kubernetes for fun, get one of them involved and a lot of these problems will be at least reduced a fair bit.