Is there a way that users could cohost an instance? If there isn’t, I think that would be a great feature to implement. Having a situation where instances slow down or even occasionally disconnect will be hard on any community. I feel like it could eventually cause people to prefer using instances owned by large and well funded groups instead of passionate users.

  • Ram@lemmy.ramram.ink
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    Ram from ReZero Peaking from a Corner

    I think this is going outside the realm of self-hosting and moreso into actually creating a server architecture. All servers would need to use the same database, so you’d want likely as its own server a database server, caches on the front-end servers so popular things aren’t queried for the same info again and again.

    I’ve never set up anything like this, so this is just me trying to think of how I’d throw it together, I’m sure there’s a bunch of async problems I’ve not even considered how to tackle, and even having the DB be offsite from either of the front-end servers would be less than ideal.

    I suppose you could have the DB in one of the servers, but then that one now has the same frontend-load as the other while it also is the only one doing DB queries, so the load’s not really being distributed properly. 🫠

    • DistractedDev@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I think storing the DB in multiple places is the most important part of this. There could even be different levels of cohosting. You would ideally always have at least two servers hosting the full DB going all the way back in time. Those would be the most important to implement just to have an always available service. Then you could have people that might not have enough resources to hold everything just host all of the most recent and high-demand data. Some advanced server architecture will for sure be needed if this model is going to succeed. It just isn’t possible to do everything on a single server. As far as processing load from running the server, I can’t imagine that will be much of a problem compared to actually storing the data. I am sure a lot of this is all problems that have already been solved and old solutions could be used. Maybe something similar to the torrenting system, with just a few controller servers.