I have noticed countless messages that discuss the architectural design of nodes, networks, middleware, databases, and how the clients (as in a game client on a phone, browser, console, PC, etc) should read and write data.
My question here relates to who the client should be directly connecting to. For writes, I take the road that you don't want to trust a client to do safe things to a database or even a cache (like REDIS) so you would simply not let the client do that.
But there are interesting possibilities for a client to talk to a db or cache only to read data. I can see leaderboards, game server locations, and even dynamic MMO state data being validly put onto a bunch of READ-ONLY caches (obviously, a server entity will be able to update these caches) being potential use cases where the client gains performance economies by reading from this cache directly.
Which use cases make sense? If you want to give examples, that's fine but I know I am supposed to stick to one question at a time here, so if you are giving an example, please give it in the context of a use case.