[Architecture] Hub-Spoke model for federation? · Issue #3245 · LemmyNet/lemmy
github.com
external-link
Question One of the biggest issues I am currently seeing with Lemmy, is federation. Either... Federation between instances having issues. Federation is backed up. Federation / Syncing is not scalin...

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.

What if each instance had a message broker distribute updates in a pub/sub topics oriented fashion? Does the activitypub spec specify that instance X must http post updates to instance Y or is there room for implementations to get creative?

HTTP_404_NotFound
creator
link
fedilink
English
1
edit-2
1Y

Does the activitypub spec specify that instance X must http post updates to instance Y or is there room for implementations to get creative?

For my initial idea, my proposal is to allow servers to have the option to choose to go through a hub, or to function as-is.

What if each instance had a message broker distribute updates in a pub/sub topics oriented fashion?

That would help the current implementation pretty drastically- although, I am not 100% sure how it is done currently.

Create a post

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.

  • 1 user online
  • 66 users / day
  • 176 users / week
  • 621 users / month
  • 2.31K users / 6 months
  • 1 subscriber
  • 3.28K Posts
  • 67K Comments
  • Modlog