Concurrency Patterns in Go You Should Actually Use in Production
Go's concurrency model is powerful — but misused patterns lead to goroutine leaks, race conditions, and silent failures. Here's what works in production.
Insights
Deep dives into Go, distributed systems, concurrency, message brokers, and production infrastructure.
Go's concurrency model is powerful — but misused patterns lead to goroutine leaks, race conditions, and silent failures. Here's what works in production.
REST is familiar. gRPC is fast. But the real decision is about contract strictness, streaming needs, and team maturity — not just benchmarks.
When your PLCs and sensors generate thousands of data points per second, standard Postgres falls apart. Here is how we architected a time-series pipeline that holds up.
Rolling updates sound simple until your Go service starts dropping in-flight requests during pod termination. Here's the complete checklist to make it actually work.
NATS is fast and simple — but without JetStream, you're firing and forgetting. Here's how to use JetStream for durable, exactly-once-ish messaging between Go services.
Modbus TCP is the lingua franca of industrial automation. Here is how to build a reliable, concurrent PLC data collector in Go that handles the quirks of real hardware.