this post was submitted on 21 Jun 2023
14 points (100.0% liked)

Technology

39817 readers
212 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 3 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] xtremeownage@lemmyonline.com 1 points 2 years ago* (last edited 2 years ago) (8 children)

for fucks sake, dude, be collaborative, and not defensive. This isn't reddit, I am not out to attack your karma.

If every instance, hosts a community, and Every other instance, subscribes to every one of those communities, that would lead to a full-mesh between all instances, resulting in worst-case scenario, ie, following the formula I provided for a full-mesh topology.

That is indeed, the worst case scenario, I have provided, explained, and documented in my examples.

If my example is too hard to understand, lets use an easier example

Count the number of instances on https://lemmy.ml/instances

Assume every one of those instances subscribes to !asklemmy.

Now, count the number of instances on https://lemmy.world/instances

Assume, every one of those instances subscribes to !lemmyworld.

Now, count the number of instances on https://beehaw.org/instances

Assume, every one of those instances subscribes to !technology.

It does. not. scale.

[–] King@vlemmy.net 0 points 2 years ago (5 children)

Yes, it is a "full mesh" diagram. But for each specific "federated" action, it is a simple hub and spoke distribution. The hosting server will send the federated action to each subscribed node. The nodes don't need to check in with each other for that specific action.

I too believe that Federation is going to have scaling issues. But not due to full mesh

[–] xtremeownage@lemmyonline.com 0 points 2 years ago (4 children)

I am onboard with you there-

But, would not not agree- delegating and offloading those federation actions to a dedicated pool of servers, would not assist scalability?

That way- each instance doesn't need to maintain all of the connections?

[–] King@vlemmy.net 0 points 2 years ago (1 children)

There is no need to "maintain all of the connections". The server opens a connection, sends the data, then closes the connection.

[–] xtremeownage@lemmyonline.com 0 points 2 years ago (1 children)

I realize that....

Let's- set the record straight here.

Do you think the current implementation of federation works well?

[–] Fauxreigner@beehaw.org 0 points 2 years ago (1 children)

Federation isn't working well, but it's not working well because the big instances aren't able to keep up with all of the inbound/outbound messages, and if a message fails, that's it. Right now there's no automated way to resync and catch up on missed activity.

[–] cyd@vlemmy.net 1 points 2 years ago

How was syncing done in Usenet? It has a very similar decentralized model, and I don't recall there being problems of data loss due to desyncing between servers.

load more comments (2 replies)
load more comments (2 replies)
load more comments (4 replies)