I’ve been in Lemmy for a month and I’m quite enjoy using the service.
However, after the mass migration on both Reddit and Twitter, I feel like the services are now significantly slower than they used to be. So I’m wondering whether I should have some kind of personal CDN/relay service for “caching” information especially medias or just create a new instace and federated to public Lemmy instance?
FYI, I have a private OpenVPN served on DO and 1L “server” that run Proxmox for existing services to my home. Should be okay to have a Nginx reverse proxy, right?
You definitely could, but it’s not really sustainable.
Worst case scenario: if everybody does this, and there’s 50.000 subscribers on a certain community, then that community will have to update 50.000 other servers whenever one user leaves a single message or vote.
Sure, your own server wouldn’t have a hard time, but it every popular server (with lots of subscribers) would. It would either take a long time for you to receive their updates, or you wouldn’t get them at all.
The best thing you can do, is join a medium size server: it won’t be as overloaded as a big server, and wouldn’t cause as much strain on the fediverse as a personal server.
Do you think the Fediverse would scale to a 1:1000 instance to user ratio?
I can say with full confidence that I have absolutely no idea.
I’ve heard this idea thrown around before, so I take no credit for it: One way to circumvent the issue would be to have actual relay nodes. As in: nodes that don’t hold contents or users themselves, but just “broadcast” incoming messages to several instances, so that the source instances don’t have to. This would of course have its own drawbacks and limitations, but it would alleviate the bottleneck.
I’m sure some kind of solution will be found though. Call me optimistic, but I think the lemmi/binniverse has a bright future ahead of it. I, for one, have burned my reddit bridges.
@sab @eleitl There are ActivityPub relays already: https://github.com/brodi1/activitypub-relays
Good to know, thanks!
Or use crypto. Generate keypairs, sign updates. Add support for delegating updates to other instances.
Maybe add support for having instances getting data to indicate if they’re willing to relay update data to others, and have main instance refer to them for a certain time period, say… 6 hours maybe?
Relay willingness would depend on instance config and load, ideally.