this post was submitted on 21 Jun 2023
131 points (95.2% liked)
Lemmy.ca's Main Community
2758 readers
70 users here now
Welcome to lemmy.ca's c/main!
Since everyone on lemmy.ca gets subscribed here, this is the place to chat about the goings on at lemmy.ca, support-type items, suggestions, etc.
Announcements can be found at https://lemmy.ca/c/meta
For support related to this instance, use https://lemmy.ca/c/lemmy_ca_support
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I feel like people are missing the question that is really being asked here.
The way I read the question is "How are the individual federated servers able to interact?"
I mean, there has to be some sort of system somewhere that helps the servers connect to each other. How does Lemmy.ca know that Lemmy.world exists? There must be some sort of authority that knows. There must be some sort of first step when a new instance appears that lets everyone know that the new server exists.
Unless it's like routers and routing tables but that only works because of the physical structure allowing it, a federated server isn't going to reach out to its nearest neighbor and see another federated server. When you start a new server, do you have to like... pick an existing federated server to... like... knock on the door of? Give them a pie and tell them that you're in the neighborhood now?
I don't know the answer to this question... But I like the pie idea.
Your knock on the door analogy is exactly right--when I started my instance, I had to search every community that I wanted to see directly by URL. Then my server would send a message to that community's server saying that I subscribed to that community. Now, every time a post is made at that community, it's server sends my server an update. If I post a comment to a community on lemmy.ca (like I am now), from my kbin instance (remy.city), and you are reading it from kbin.social, that means my server first saved my comment locally, then sent it to lemmy.ca, and lemmy.ca sent it to your kbin.social because you subscribed to the community. So in that case, lemmy.ca is the 'authority', and is responsible for sending updates out to subscribed parties.
There is no such thing for instances--each new instance has to manually make a connection to another (i.e. a user on the new instance must subscribe to something from another instance). I think the tools like fediverse.observer are reading comments or other activity from popular instances, and are then compiling a list of the instances they find by doing that. But there is no central server/authority that makes communication between instances possible. Each instance has to talk to each other instance for it to happen. It's a bit inefficient but is necessary for decentralized communication.