I already get rate-limited like crazy on lemmy and there are only like 60,000 users on my instance. Is each instance really just one server or are there multiple containers running across several hosts? I’m concerned that federation will mean an inconsistent user experience. Some instances many be beefy, others will be under resourced… so the average person might think Lemmy overall is slow or error-prone.

Reddit has millions of users. How the hell is this going to scale? Does anyone have any information about Lemmy’s DB and architecture?

I found this post about Reddit’s DB from 2012. Not sure if Lemmy has a similar approach to ensure speed and reliability as the user base and traffic grows.

https://kevin.burke.dev/kevin/reddits-database-has-two-tables/

  • aaron@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    The implementation as far as I understand it is plain stupid. It prevents small instances from participating at any significant scale and seems happy to just drop data over the wire without reconciling. Seriously amateurish.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I’m not sure about the data being dropped, my instance was misconfigured for a day or two, and as soon as I fixed it, the data came right in. Instances repeatedly trying to push data to my instance is what clued me in that something was missing from my NGINX config. It backfilled pretty fast.

      Although I wouldn’t mind if there was a fallback pull mechanism to remediate failed pushes.

      • aaron@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 year ago

        Interesting. Curious if you have a better understanding of ActivePub - do you happen to know if the protocol guarantees synchonicity and what mechanism guarantees it?

        • Max-P@lemmy.max-p.me
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I don’t, really going off on ~1 week of running my essentially single user instance and watching it do its thing. I need to read the spec and experiment with it when I have some more free time.

          Pure speculation but my guess would be that the servers are expected to retry for a certain amount of time. I know there’s been some tickets opened for some big instances going out of sync with eachother and fixes being worked on to address those. I don’t know if it only fixes it forward or if that also backfills.

          Also nothing preventing Lemmy from implementing a fallback way of doing a resync if it detects drift. “Hey lemm.ee, I lost everything since an hour ago, backfill please”.

          • aaron@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            1 year ago

            Yeah, or batching changes and confirming receipt with a hash, or doing pull instead of push. From what I’ve been reading, the design seems a little janky.