Microservices Architecture: From Monolith to Production-Ready Services
When to decompose a monolith, how to define boundaries, and the patterns that work: API gateways, sagas, and event-driven comms.
Microservice decomposition, communication patterns, and organisational design.
When to decompose a monolith, how to define boundaries, and the patterns that work: API gateways, sagas, and event-driven comms.
Master context.Context in Go: cancellation propagation, deadline inheritance, goroutine leak patterns, and debugging with pprof.
An honest Go (Gin) vs. Java (Spring Boot) comparison for backend services in 2026: memory behavior, cold starts, GC pauses, and cost math — built on documented runtime behavior plus a copy-paste benchmark harness, not unverifiable numbers.
Reliable event-driven Go beyond connecting to Kafka: handling partial failures, duplicates, and distributed transactions safely.
How a team serving mobile, microservices, and third-party integrations ended up running REST, gRPC, and GraphQL together.
thenCompose vs thenApply, running calls in parallel with allOf, timeouts, executor selection, and production error handling.
gRPC and Protobuf: binary serialization, unary and streaming RPCs, Go implementation, and when to choose gRPC over REST.