Your organization is building a financial application that processes payment transactions in real-time. The system must handle high throughput while ensuring message durability and allowing for horizontal scaling of processing tasks. What should you do?