I know that Lemmy is open source and it can only get better from here on out, but I do wonder if any experts can weigh in whether the foundation is well written? Or are we building on top of 4 years worth of tech debt?

  • BURN@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I’d split it out into a few systems

    • Signup/Login/Account management
    • Posting/Commenting/Voting
    • Moderation Controls
    • DB Readers and Writers in different services
    • Community management (may get lumped into moderation controls, but separation of duties may be needed)
    • Edit: Federation is a big one I keep forgetting about

    The ultimate goal, and I don’t know how possible it is with rust, would be to have a way to run those as individual services or as one part of a larger monolith. Smaller instances would be able to run it as one binary, while larger instances like Lemmy.world or Lemmy.ml can run each part independently. That would allow easier scaling on large instances while (hopefully) leaving it just as simple to deploy on a small scale too.

    There’s no reason to split it into 100 different services, but 4-5 mid sized ones might help.