https://github.com/LemmyNet/lemmy/issues/3245

I posted far more details on the issue then I am putting here-

But, just to bring some math in- with the current full-mesh federation model, assuming 10,000 instances-

That will require nearly 50 million connections.

Each comment. Each vote. Each post, will have to be sent 50 million seperate times.

In the purposed hub-spoke model, We can reduce that by over 99%, so that each post/vote/comment/etc, only has to be sent 10,000 times (plus n*(n-1)/2 times, where n = number of hub servers).

The current full mesh architecture will not scale. I predict, exponential growth will continue to occur.

Let’s work on a solution to this problem together.

  • SkyNTP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    So essentially, sh.itjust.works talks to lemmy.world, lemmy.world tells everyone else. There is no “full mesh”. The instance hosting the community is the “hub”, everything else is a spoke.

    It seems to me that “X tells everyone else” and “everything else is a spoke”, is just another way of saying it’s a full mesh. I’m pretty sure OP doesn’t mean to say that a single message will transit down 10000(10000-1)/2 connections. Rather, there are that many connections that messages get routed through. Stated differently, each instances takes on the full burden of managing the full scope of connections instead of breaking up the task into sub-federations (provinces?).

    I think sub federation is a reasonable proposal that still maintains enough decentralization to be both more efficient but still resilient at the same time. After all, it’s how the internet works at the most basic layers.

    At what point of growth does this efficiency actually matter, I cannot say. But there certainly is room for optimization.