just_another_person@lemmy.world 5 days ago
You’re talking about syncing and downloading content from external services, which makes me think you’re just imagining these as being a client versus an “instance”. In that case, just use a client because neither of these services inherently do what you’re asking, that’s what a client of these services does.
ICastFist@programming.dev 5 days ago
My dummy understanding is that each instance could be considered a “client”, in the sense that they’re always on the lookout for data from other instances whenever the latter generates new content. Either that or, when one connected user checks what’s on a different instance, it downloads to the local cache, ie: if I, from programming.dev, am the first to check this thread, a copy gets saved locally (cache) in the programming.dev server, which might check back on the original source in the case of any edits.
just_another_person@lemmy.world 5 days ago
Sort of, but not really. It’s a pub/sub ecosystem, so if your services are offline, they aren’t going to be pulling the delta of missed data beyond a threshold. That’s why clients are clients, because they are built to do this for this purpose.
It wouldn’t make sense for a deployment acting as an active instance to act like a client in the way you’re describing, because the services are configured and tuned to NOT act that way, but ingest data available at time of publish to the endpoints they are subscribed to.
possiblylinux127@lemmy.zip 5 days ago
Matrix works like email. It used a push model where a server pushes a message to another server that stores it. The message might be stored on the server of origin or it may not.