How would you design a reliable system for a banking application that must handle high traffic, low latency, and strong data integrity?