Latency Slayer is a blog about building resilient, scalable, and high-performance distributed systems. It is focused on practical advice built from real-world experience.
Every time a credit card is swiped, tapped, or dipped, a correlation problem has to be solved in real time . Payment systems need low latency and high throughput, but they also need correct outcomes. For many distributed systems, the common approach is still fairly simple. A request is made, a response is returned, and the caller moves on. But systems that care about latency and throughput cannot…
Recently, while reviewing a pull request, a discussion arose about using sync/atomic versus sync.RWMutex . It’s a question that comes up often when writing concurrent Go code, so I thought it would make a great post. TL;DR For those in a hurry, here are the key takeaways: Atomic Operations: Can be faster when updating a single shared value across multiple threads (or goroutines).…