May 14 · 18 min read · It's 3am. The Kafka consumer pod that's been running cleanly for six weeks gets OOM-killed. Kubernetes restarts it. Five minutes later: OOM-killed again. Restart. OOM-killed a third time. By the fourt
Join discussionMay 5 · 7 min read · In Part 12, I added resilience patterns — retry, timeout, circuit breaker. My backend could now survive Redis going down. But there was still a problem. When someone created an entry, I needed to notify an external service. A webhook: fire an HTTP PO...
Join discussionApr 26 · 11 min read · You’ve probably heard that goroutines are “lightweight threads.” But what does that actually mean? How does Go run millions of goroutines on just a handful of OS threads? The answer is the GMP schedul
Join discussionApr 16 · 7 min read · Somewhere around 40,000 concurrent connections, your Java service falls over. Not from CPU, not from network — from memory, because every connection is a thread and every thread wants its own megabyte of stack. By the time you've finished Googling wh...
Join discussion
Feb 18 · 5 min read · What Is a Process? A program is an executable file on disk. When the operating system loads that file into memory and starts execution, it becomes a process. A process has its own: Memory Address Registers Program Counter Stack and Heap memory ...
Join discussion
Jan 19 · 4 min read · From Power to Pitfall: Concurrency in Go Concurrency is one of Go’s biggest strengths. Goroutines and channels make it easy to build scalable systems. However, improper use of unbuffered channels can lead to a serious issue — deadlock. In this blog, ...
Join discussion
Dec 20, 2025 · 9 min read · En los posts anteriores exploramos los fundamentos de Go: structs, interfaces, métodos y colecciones. Hoy vamos a adentrarnos en una de las características más distintivas y poderosas de Go: las goroutines. Si vienes de Java, esto cambiará completame...
Join discussion