cross-posted from: https://lemmy.world/post/2357075

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.

  • SJ0@lemmy.fbxl.net
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    I think it depends a lot on the federated service.

    For mastodon, you follow individual users, so if there’s a million users or ten million or a hundred million, their instances will only be contacting other intances they’re federating with so it’s quite scalable.

    For Lemmy, you follow communities, so every server pulls all the posts and comments the common community. This means that for an instance like lemmy.world hosting lots of different big communities, every new server hammers the one central instance.

    A strategy for improving the situation I think would be to spread the load. Instead of everyone piling into megacommunities, if people spread out into smaller more tight knit communities over many different instances. Of course, this isn’t really compatible with the purpose of having communities like that.

    It does seem to suggest that ActivityPub isn’t necessarily the most appropriate protocol for this purpose, even though it’s what was used because it’s the de facto standard on the fediverse.

    • gabe [he/him]@literature.cafe
      link
      fedilink
      English
      arrow-up
      11
      ·
      1 year ago

      A big issue with Lemmy right now is how picture storage works. All photos are cached as they enter the instance and there isn’t much to do to turn it off. It’s ridiculous, especially for server scaling. The database in of itself is small, it’s really the pictures that are an issue and grow rapidly.

    • redcalcium@lemmy.institute
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Right now federation traffics only have minimal impacts to Lemmy. They mostly consume network resource (to send out activitypub messages already waiting in the queue), unlike actual user traffics that consume a lot more CPU resources and database access.

      When federation traffics finally become large enough to cause issues on popular instances, I think it should be easy enough for the devs to address (e.g. offloading activitypub subscription to relay servers). Actual user traffics are much harder to scale.

      • Aux@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Federation traffic killed most servers just about a month ago. The problem is not some type of traffic, the problem is that Lemmy software is very bad.