this post was submitted on 21 Jun 2023
47 points (100.0% liked)
Technology
37696 readers
218 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 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Its not wrong- we just have opposite ideas here-
The 50 million, is based on the formula for a full-mesh network. Where all instances talk to each other. In the case of lemmy, this would be an absolute worst-case scenario, where every instance, is subscribed to a community on every other instance.
In your example of only 10,000 messages, you are assuming that of the 10,000 instances in existence, they are ONLY looking at a single community, on a single server.
Lets say, those 10,000 instances all decide to look at a community on another server. Now you have 20,000 connections.
Lets add another community, hosted on yet another instance. That is 30,000 connections.
My example, is based on worst-case scenario.
Your example, is based on best-case scenario.
Realistically, the actual outcome would be somewhere much closer to best-case scenario. However, for planning architecture, you always assume worse-case scenario.
No - you said:
That won't ever happen. Unless there's 50 million instances. That's not worst case, it's just not a case.
There is no case in the current implementation where any one action is replicated more times than there are total instances.
And it doesn't matter what "model" you assume, each action will have to federate to each instance eventually. That count is minimally, the total number of instances.
Looking does nothing, each instance hosts essentially a copy of the "host instance" for each community. Only interactions (comments, likes, posts, etc) are federated.
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.
In no way is the person you're responding to speaking defensively. They've discussed the reason why your extrapolation to a full-mesh connective worst-case scenario isn't based in the reality of how ActivityPub functions. But you don't seem to be willing to entertain the notion that the federation of any given action never exceeds the number of instances subscribed to the community that generated it.
Even should every instance subscribe to every community on every other instance, the recipient of a federated action doesn't turn around and rebroadcast that action back on to the network because it is not the authoritative host of that community. Therefore what this discussion is lacking is proof of where this exponential broadcast storm of federated actions comes from in your assertion.