I've been reading up quite a bit on distributed database and compute technologies like Spanner/MapReduce as well as some interesting blog posts on scaling out of Facebook/Twitter/Netflix.
That got me wondering how even "harder" problems - like Visa's payments system, or the global stock exchange network, are implemented. In these applications, the problem is inherently planet-scale, correctness is of utmost importance, and latency is still very, very important.<p>I haven't been able to find much online on how applications like these are designed, verified and implemented, so any help will be appreciated!
Give "Designing Data-Intensive Applications" a read. It's an excellent book on these topics.<p><a href="https://dataintensive.net" rel="nofollow">https://dataintensive.net</a>
This repo was posted a few weeks back.<p><a href="https://github.com/donnemartin/system-design-primer" rel="nofollow">https://github.com/donnemartin/system-design-primer</a>
You can start with Prof. Ken Birman's book "Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services".