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

    This is the biggest design flaw of lemmy.

    Instances should host separate content, and aggregation of separate instances should be up the client.

    Instead we got the worst of all worlds. It means that lemmy can never truly scale performance wise or survive legal wise.

    Hopefully they solve it in some way, but I don’t see how unless they do the above and totally remove cross instance caching

    • WtfEvenIsExistence1️@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      aggregation of separate instances should be up the client.

      Yea you’ll have a problem with overloaded requests

      Example:

      A post is located at Instance A, it has 100 users and can handle up to 150 connections at a time

      Instance B has 100 users

      Instance C has 100 users

      Assuming all these users are from the same timezone and have the same one hour of free time after coming home from work

      All users at Instance B and C wants to see the post at Instance A

      200 requests gets sent to Instance A

      Instance A also receive 100 requests from it’s own users

      Instance A receives a total of 300 requests at around the same time. Instance is overloaded.

      All of Intances A, B, and C would need at least 300 connection capacity in order for this to work.

      Imaging there being 10 instances. All of them would need at least 1000 connection capacity. Each one of them.

      Instances need to cache other instances to reduce redundant requests. This way the requests are reduced to 1. Only one copy needs to be sent to each other instance, instead of being sent to each individual user of those instances.

      All 100 of each user at an instance could just use that 1 copy at their instance.

      So now in this scenario:

      Instance A has a post everyone wants to see, Instance A gets 100 requests + 1 from each other instance. Even with 10 total instances (including themself), there’d be only 109 requests, a far more manageable number than 1000.