Scaling to 100k Users
I have a few questions:1) I don't really get the "100 Users: Split Out the Clients".It definetly helps in terms of understanding your customer profiles, whether they prefer the mobile app or the web interface for instance, and it might help from a usability point of view, but how does this help scalability per se if the API layer stays the same?Splitting client happens, obviously, at the client level..2) Also, I don't understand "This is why I like to think of the client as separate from the API."Who considers the client and the API as the same thing?You can consider the API as the client of the DB, sure, but why would you mix the user client and API together?3) Caching: here I lack some knowledge. "We’ll cache the result from the database in Redis under the key user:id with an expiration time of 30 seconds". I assume that every access to Redis will not refresh the cache (aka reset the counter), otherwise you could potentially never get an updated data, right?