How would you design a system to handle high-concurrency requests in a distributed environment at Citigroup?