Blog / Golang
Posts on Golang
Optimizing Go for High-Throughput Systems
Memory management, concurrency patterns, and profiling techniques that took my Go services from adequate to high-performance. Practical optimization, not premature optimization.
Resilient Microservices in Go
Circuit breakers, bulkheads, retries, timeouts, and degradation — the fault-tolerance patterns that keep distributed Go systems alive when dependencies fail.
Authentication Patterns for Distributed Systems
A threat-model-first walkthrough of JWT, OAuth2/OIDC, refresh rotation, and zero trust auth for Go services — with the mistakes that actually burn people in production.
Custom Kubernetes Controllers in Go
Building Go controllers with controller-runtime to automate cluster operations — reconcile semantics, CRDs, watches, and the failure modes that actually burn production clusters.
High-Performance ETL Pipelines in Go
A failure-model-first walkthrough of streaming ETL in Go — bounded concurrency, backpressure, context cancellation, poison records, and the mistakes that blow up memory under real load.
Authorization Patterns for Go Microservices
Authorization in a service mesh — RBAC, ABAC, policy engines, SPIFFE service identity, and deny-by-default patterns for Go microservices without the panics and silent bypasses.
Migrating Monoliths to Microservices with Go
An opinionated migration framework for strangling a Go monolith — threat model, dependency analysis, strangler-fig routing, database-per-service, and when not to migrate at all.
Building LLM Applications with Ollama and Go
A practitioner's walkthrough of local LLM integration in Go with Ollama — structured extraction, RAG, and the production patterns that actually hold up under load.
Enterprise Microservices in Go
The architecture patterns I rely on for building microservices that actually survive production — DDD boundaries, outbox-based events, gRPC, and the currency mistake almost everyone ships.