this post was submitted on 13 Jun 2023
26 points (100.0% liked)
Technology
37801 readers
189 users here now
A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
On a similar note, would it be possible to have something like "sharding" where one server has multiple synched copies on several people's machines? So lets say if one machine goes down for whatever reason there are others to still serve content? This could also help with distributing load across multiple machines so its less stressful on one, and we don't have situations such as whats going on with lemmy.ml now, where so many users are joining it that its frequently down and subscription statuses are stuck on pending
This is usually referred to as "high availability", where you'd have a hot failover to swap to in case the main server goes down. This is usually implemented with a load balancer that checks if the upstream server is alive before sending requests to it. If the upstream server isn't responding, switch to the other one.
A load balancer could also spread the load evenly across multiple machines, at least for reads. Generally there's far more reads than writes, and reads are more easily scalable since you can have database replicas that just need to sync in one direction.
I don't think Lemmy supports any of this yet though.
The other approach is to split the large instances into multiple smaller instances. For Fediverse stuff, I don't know which approach is considered "better".