372
submitted 2 years ago* (last edited 2 years ago) by nutomic@lemmy.ml to c/lemmy@lemmy.ml

This site is currently struggling to handle the amount of new users. I have already upgraded the server, but it will go down regardless if half of Reddit tries to join.

However Lemmy is federated software, meaning you can interact seamlessly with communities on other instances like beehaw.org or lemmy.one. The documentation explains in more detail how this works. Use the instance list to find one where you can register. Then use the Community Browser to find interesting communities. Paste the community url into the search field to follow it.

You can help other Reddit refugees by inviting them to the same Lemmy instance where you joined. This way we can spread the load across many different servers. And users with similar interests will end up together on the same instances. Others on the same instance can also automatically see posts from all the communities that you follow.

Edit: If you moderate a large subreddit, do not link your users directly to lemmy.ml in your announcements. That way the server will only go down sooner.

you are viewing a single comment's thread
view the rest of the comments
[-] anji@lemmy.anji.nl 9 points 2 years ago

Sadly, I feel like the Fediverse, based on ActivityPub, was fundamentally designed wrong for scaling potential. I do like Fedi and I like ActivityPub, but I think instances should not have to be responsible for all of this:

  • Owning user accounts
  • Exclusively host communities
  • Serving local and remote users webpages and media
  • Never going down, as this results in users and content becoming unavailable

Because servers "own" the user accounts and communities it's not trivial for users to switch to a different instance, and as instances scale their costs go up slightly exponentially.

I wish the Fediverse from the beginning was a truly distributed content replication platform, usenet-style or Matrix-style, and every instance would add additional capacity to the network instead of hosting specific communities or users.

I guess it's a bit too late for a redesign now... Perhaps decentralized identifiers will take us there in some form in the future.

[-] poVoq@slrpnk.net 3 points 2 years ago* (last edited 2 years ago)

Not sure why you reference Matrix, which has even worse scaling issues as it indeed tries to replicate nearly the entire network on every server.

The Fediverse is really just working how the general web does, just with some standardized API for websites to interact. It's not perfect, but it works and has proven to be relatively scalable.

It sounds a bit like you had a bit too much of the Bluesky cool-aid, which indeed replicates nearly all of the mistakes of Matrix and makes it impossible to scale via small community owned servers instead of big company owned data-centers (which might be by design?).

[-] anji@lemmy.anji.nl 7 points 2 years ago* (last edited 2 years ago)

Well yeah, point taken that replicating everything everywhere and forever might be impossible. But I do believe at a minimum my identity should be portable and accessing Fedi (ie. in microblogging: posting and viewing a feed of the latest posts of my follows) should be decoupled from which instance I pick to access the Fediverse.

I don't particularly like how owners of instances which grew are now essentially locked in to having to spend 100s or 1000s of dollars a month keeping their now expensive instances running and providing service. This is a bad place to be for a platform ran by volunteers. Letting instance owners scale their service down as well as up would be ideal. But this requires at least decentralized identity, and at best some form of content hosting redundancy...

It's easy to say the current architecture of Fedi works when it's still small. Your instance has 139 users.. That's not intended as a slight. Hosting instances is good and I applaud you for it! But I wish it were easier to more equally share the load once the platform becomes more popular.

[-] Daxtron2@lemmy.ml 0 points 2 years ago

Is there any group of devs that work on this issue that you know of? I'd be interested in looking into it.

[-] anji@lemmy.anji.nl 1 points 2 years ago* (last edited 2 years ago)

No. And I think it's a really hard problem. poVoq was right to call me out on full replication being a bad move, because duplicating all content on every server is obviously inefficient. But a solution in-between, with decentralization and redundancy, is probably a very complex challenge. Doesn't seem impossible, but very complex network protocols rarely seem to succeed.

Edit: Sorry I was still thinking about some fabled perfect protocol. But if you're looking into decentralized identifiers, W3 is working on one approach. It's not something I have seen used anywhere or integrated with ActivityPub yet, but that could be the future I'm hoping for. Probably.

[-] kiwi@lemmy.one 1 points 2 years ago* (last edited 2 years ago)

It almost sounds like you’re describing RAID 5 of content across fediverse servers.

[-] anji@lemmy.anji.nl 0 points 2 years ago

Something like that. But also with fully decentralized identity. So all content is signed by a keypair which is local to the user, and can be used to access Fedi through arbitrary instances. Probably I am too wishful.

[-] dleewee@beehaw.org 1 points 2 years ago

I could envision a 2nd class of server, running something like OAuth/OIDC, which handles the authentication into any Lemmy instance (or better yet, any ActivityPub based instance).

This server would also be self-hostable, and provide only authentication services, so it would be rather lightweight. But would help reduce the load on the content servers.

[-] Phazei@lemmy.ml -2 points 2 years ago

I feel like for decentralized identity maybe a page could be taken out of Blockchain. Ethereum ledger is duplicated in its entirety on every host, and there are L2s that help spread the load but roll up to the L1. If identity could be attached to something like that, each person has a key to identify themselves. Identity I think would be best separated from all content related to the identity, the user could choose a server to host that data, as well as back it up with like a shared user data backup agreement between a few servers in case one dies. It'd be very similar to raid but the data only needs to be on 2-3 servers. I suppose community data could be the same. I can envision when a new server joins the federation, it could be auto assigned to share with 2-3 similarly sized communities with algorithms making sure there aren't any closed groups of sharing (a->b&c, b->a&c, c->a&b) wouldn't ever want that. They all seems to be the most reasonable solution in my head.

[-] gnoop@lemmy.ml 2 points 2 years ago

While it might not be too late for that update, it would require some reconciliation to happen. There's the potential for multiple users and communities of the same name across servers that would need to be considered.

[-] CoinOperatedBoi@lemmy.ml 1 points 2 years ago

Yeah, the fact that the user auth and permission models were intentionally left out of the W3C spec initially really ended up locking ActivityPub into particular dialects and patterns that are now proving problematic for scaling.

I’m not sure it’s 100% too late for a redesign, though. The committee is still active and the Fediverse could still theoretically grow by an order of magnitude or two. Does that seem likely right this minute? No, but sometimes that kind of vision is what an ecosystem needs.

this post was submitted on 04 Jun 2023
372 points (97.7% liked)

Lemmy

11948 readers
1 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

founded 4 years ago
MODERATORS