Distributed architecture concepts I learned when building a large payment system
I'll never understand why a payment system needs to scale horizontally.Modern computer systems can scale to 500 or more processor cores. Each core runs billions of instructions per second.A system for a billion accounts on the scale of Uber probably has a million active users at a time, probably a quarter that involving payment.Is Uber saying that they can't support 250k payment transactions per second on the largest system today? That's maybe 1000 transactions per second per core on the largest systems, or about 1ms per transaction. Why is that impossible for them?Or, put it another way, why can't one transaction be completed in less than 1 million CPU instructions?And that's for the very largest company like Uber.. can't even imagine a typical startup needing to scale horizontally for payment processing.