It seems that self hosting, for oneself, a federated service, like Lemmy, would only serve to increase the traffic in the network, and not actually serve the purpose of load balancing between servers.

As far as I understand it, the way federation is supposed to work is that the servers cache all the content locally to then serve to the people that are registered to that server. In doing so, the servers only have to transmit a minimal amount of data between themselves which lowers the overhead for small servers – this then means that a small server doesn’t get overwhelmed by a ton of people requesting from it. Now, if, instead, you have everyone self hosting their own server, you go right back to having everyone sending a ton of requests to small servers, thereby overwhelming them. It seems that it’s really only beneficial to the network if you have, say, hundreds of medium sized servers instead of, say, thousands, of very small servers. While there is the resilience factor, the overhead of the network would be rather overwhelming.

Perhaps one possibility of fixing this is to use some form of load balancer like IPFS to distribute the requests more evenly, but I am no where even remotely close to being knowledgeable enough in that to say anything definitively.

  • cerevant@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    1 year ago

    Not harmful, but I would agree that the network seems optimized for a small number of user-focused servers, and a large number of community-focused servers.

    • Die4Ever@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Yeah I feel like keeping communities on instances that have no users can really lighten the load since they don’t actually ask for anything from other instances, they act like a funnel for all the requests. I do this with my own communities-only instance and it has extremely low cpu load and storage needs, because there’s no users pulling stuff in, only posts going to it.

      I think if you load the website for a single post on instance A, that’s probably more strain on instance A compared to federating the post over to instance B and loading the website for it through instance B. But then you have to think about the federation of each comment and upvote/downvote. So maybe it is a little more strain for instance A. I don’t think this stuff is worth worry about too much but probably the ideal efficiency is an instance with users who all have the same interests.

      • cerevant@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        That’s pretty much my thinking, though there is an advantage that having a large number of users on an instance amplifies it’s caching effect, though as you say - if their interests are too far spread, that effect is diminished.