How would you design a system to handle high traffic with caching, load balancing, and asynchronous processing?