How do cloud storage providers (such as Dropbox, Apple iCloud, Evernote etc.) provide redundant data storage, whilst simultaneously routing my query to a server with a corresponding copy of my data.
Say for example, I have a document "CV.docx", which I store in Dropbox. Dropbox needs to keep a redundant copy of this file (to allow for hardware failure, loss of connectivity etc.), say they store this on Server 1 & Server 2. When I later make request to download this file, how does Dropbox know which servers are storing my files, and route my request to Server 1 or 2, as opposed to Server 500.
Is this pairing of storage locations to documents stored in a central database that my request has to jump through? If so wouldn't this present a single point of failure? I am guessing that this database is replicated, but does this scale to millions of users?