this post was submitted on 23 Jun 2023
56 points (100.0% liked)
Fediverse
28295 readers
828 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
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
Opencollective has a page. Recurring donations are usually more useful than one-time, but both are excellent.
Just reading through this it seems crazy to me that lemmy.world is being scaled vertically, is there something about how it works that prevents horizontal scaling (like, load balancing across a number of servers all using the same db)?
I am trying to start a project with a fairly ambitious goal, trying to take load off the central instance to reduce hosting costs (whether that comes in the form of a single powerful server or multiples pointed at the same DB). It's still in early form, but the core (trying to make it so running a Lemmy node is not too punishing on the main instance server) is an attempt to do the engineering to help accomplish exactly this.
As far as I can tell, the software just wasn't built with that in mind, so I would expect some kind of bugs or weird behavior like race conditions, etc. Nothing is stopping anyone from trying it to see what happens though I guess.
From what I understand, Lemmy is just using a PostgreSQL database, and there's many ways to load balance and horizontally scale it. You could use something like HAProxy for load balancing, and for horizontal scaling, you could add multiple PostgreSQL slave nodes and if you want to manage the scaling automatically, you could use a tool like ClusterControl or w/e. There's plenty of doco on the web around this and it's not specific to Lemmy.
You can scale app servers surprisingly far before you need to shard a decently sized single master postgres cluster. Like, probably 20-50+ times the current write traffic it seems this instance has. It was probably due to the websockets thing, thinking about it. With 0.18, that goes away and requests can be stateless, cached, and you can throw a load balancer and n app servers at it.
Why do you have a tick next to your name?