A lot of wisdom in there, but my god, why the overengineering? Keep it simple! You can serve hundreds of thousands of users only using Python's standard library (http.server and sqlite3 with an in-memory dict for caching).
Fewer pieces of the puzzle will let you quickly identify bottlenecks, instead of trying to anticipate them before everything breaks.