educative.io

Educative

Metadata server question

Why does client interact with Synchronization Service? from High level design part, we know that client will interact with metadata service about files metadata first and then metadata server will communicate with Synchronization Service. But in 6.a client component design, client interacts with Synchronization Service directly.

And in 6.b metadata database design part, synchronization Service will interact with metadata database instead of metadata server.

In 6.e synchronization Service is not showed in the pic, but the metadata server showed in the pic.

Iā€™m confused. Why does high level design and component design have conflict? Do we need remove metadata service from high level design?

4 Likes

I have this same question. Could someone from educative answer this question?

Client needs to interact with Synchronization service to get the broadcasted changes from other clients. For example lets say Client A makes a change then that change is uploaded to the server and the metadata is updated through metadata service, at this point the synchronization service can send out a broadcast message to all other clients to get the update.