
[Go] Is It Okay to Run 100 Million Goroutines?
Goroutines are one of the key advantages of the Go language, known for being lightweight—even when spawning hundreds of thousands or more. However, what happens if these goroutines remain in a parked state for extended periods? This article explains the operational principles of goroutine parking and delves into the internals of Go’s GMP runtime model. It explores the system load and performance impact when many goroutines are inactive, and introduces practical strategies to detect and prevent such issues.

[DB] Redlock and Lease in Distributed Systems
How are leaders managed in distributed environments? Introducing two approaches to concurrency control.

[EDA] Running a Local Kafka Cluster with SASL SCRAM Authentication (Docker Compose)
E2E testing is critical for validating production-ready applications. But how do you simulate a secure Kafka environment locally—especially with SASL authentication? This post demonstrates how to spin up a Kafka cluster with both SCRAM-SHA-256 and SCRAM-SHA-512 using Docker Compose.

[EDA] Kafka (MSK) Monitoring with Burrow Prometheus And Thanos
Still monitoring Kafka using only low-level Input/Output Bytes? Let’s build topic-level monitoring using Burrow, JMX, and Node Exporter.

[EDA] Schema Registry
How can we ensure backward and forward compatibility for event schemas?

[Protocol] Exploring RPC... and GRPC in Depth
Whenever we hear about RPC communication (or maybe it’s just me?), we tend to assume it involves Protocol Buffers over HTTP/2 — that is, gRPC. But what exactly is RPC? Why is gRPC so fast? And when should we use it?

[Go] Go Convention
Efficient Go Project Structure Guide

[LGTM] Elasticsearch to Loki Migration Story
Is heavy-duty Elasticsearch necessary just for basic application monitoring? This post explores the transition to Loki and the lessons learned.

[EDA] Flink Dynamic Job Case Study
Do we really need to redeploy the job every time the policy changes? A deep dive into executing Flink jobs dynamically.

[Go] Gophercon 2024 - Building Minimalistic Backend Microservice in Go
No more unnecessary frameworks—pure Go is the ultimate form of tuning. Learn how to build minimalistic applications with vanilla Go.