CQRS and Event Sourcing: The Real Trade-offs
When CQRS pays off, when Event Sourcing makes it worse, and when plain CRUD is the right call. With TypeScript examples and the anti-patterns to avoid.
Architecture lessons, performance war stories, and engineering patterns from two decades of building production systems.
64
Articles
101
Topics
20+
Years XP
When CQRS pays off, when Event Sourcing makes it worse, and when plain CRUD is the right call. With TypeScript examples and the anti-patterns to avoid.
When a producer outpaces its consumer — Node streams, Go channels, Rust async, RxJS, and Kafka consumer lag. The patterns that actually keep memory in check.
A realistic playbook for replacing a legacy system in place — routing, dual-write, shared data, team slicing, and the order of operations that actually ships.
How Postgres actually stores rows — tuples, xmin/xmax, HOT updates, table bloat, and why VACUUM is the most misunderstood command in your database.
Conventional Commits, small PRs, review culture, and the PR templates people actually fill out — how to review code so the next developer (including future-you) can still move fast.
A comprehensive guide to RESTful API endpoint design — covering HTTP methods (GET, POST, PUT, PATCH, DELETE), URL structure, status codes, pagination patterns, error handling with RFC 7807, and real-world implementations in TypeScript, Java, Python, and C#.
A comprehensive guide to database diagrams — covering ERD notations (Chen, Crow's Foot, UML), drawing with Mermaid and PlantUML, real-world schema examples, and best practices for documenting database designs.
A comprehensive implementation guide to JWT for service-to-service authentication — covering signed JWTs between services, asymmetric keys (RS256/ES256) for distributed verification, token propagation patterns, and Node.js implementation.
A comprehensive guide to SPIFFE/SPIRE for workload identity in microservices — covering SPIFFE ID format, SVIDs, SPIRE architecture and components, Istio/Envoy integration, and zero-trust networking patterns.
A comprehensive implementation guide to OAuth 2.0 Client Credentials Grant for machine-to-machine authentication — covering the client credentials flow, token caching and refresh, scope and audience validation, and Node.js implementation with multiple identity providers.