When building a large scale, highly available and distributed system, what architecture concepts do you need to use, in practice? In this post, I am summarizing ones I have found essential to learn and apply when building the payments system that powers Uber. This is a system with a load of up to thousands of requests per second, where critical payments functionality needs to work correctly, even
![Distributed architecture concepts I learned while building a large payments system](https://cdn-ak-scissors.b.st-hatena.com/image/square/efb2437ed1f616bfabafa702f650a3ce66f0b9db/height=288;version=1;width=512/https%3A%2F%2Fblog.pragmaticengineer.com%2Fcontent%2Fimages%2Fsize%2Fw1200%2F2019%2F09%2Fnasa-Q1p7bh3SHj8-unsplash-1.jpg)