architecture The Bulkhead Pattern: Why One Slow Dependency Shouldn’t Sink the Whole Ship josedacruz, October 2, 2026October 2, 2026 TL;DR: The bulkhead pattern means giving each dependency — a downstream API, a database, a queue — its own separate pool of resources instead of making everyone share one big pool. That way, when one dependency gets slow or fails, it can only eat its own pool, not every other… Continue Reading
architecture The Saga Pattern: How to Undo a Transaction That Spans Five Services josedacruz, September 16, 2026September 16, 2026 TL;DR: A saga is how you handle a “transaction” that spans multiple services, since you can’t wrap them all in one database commit. Instead of one atomic rollback, you run a chain of local steps and, if something downstream fails, you undo the earlier steps with separate “compensating” actions. It’s… Continue Reading
architecture The Distributed Monolith: When Your Microservices Still Deploy as One App josedacruz, August 18, 2026August 18, 2026 TL;DR: Splitting a monolith into microservices doesn’t automatically get you the benefits people promise — independent deploys, one team’s mistake not taking down everyone else, services that scale on their own. If your new services still call each other synchronously, share a database, or all have to deploy together, you’ve… Continue Reading
architecture The Outbox Pattern: How to Publish Events Without Losing Them josedacruz, August 12, 2026August 12, 2026 TL;DR: When a service needs to save something to its database and tell other services about it at the same time, doing those two things separately can silently lose data. The outbox pattern fixes this by writing the “I need to send this event” note into the same database transaction… Continue Reading
architecture The Circuit Breaker Pattern: How to Stop One Failing Service from Taking Down Everything Else josedacruz, August 6, 2026August 6, 2026 TL;DR: A circuit breaker stops your system from calling a service that’s already struggling, so one slow dependency doesn’t drag down everything connected to it. It works by watching for failures, “tripping” to block calls once things get bad, and then carefully testing whether the dependency has recovered before letting… Continue Reading
architecture Conway’s Law in the Wild: Why Your Microservices Look Suspiciously Like Your Org Chart josedacruz, July 29, 2026 Here’s a strange but reliable pattern: if you look at the architecture diagram of almost any mid-size tech company, you can guess how their org chart is drawn. Not because someone planned it that way. It just… happens. This pattern has a name: Conway’s Law. It was named after Melvin… Continue Reading
spring-boot Learning Spring Boot from Zero to Cloud: Part 18 – dependency injection strategies josedacruz, April 16, 2025April 16, 2025 Welcome to Part 18 of our series “Learning Spring Boot from Zero to Cloud”.In this video, we dive into one of the core pillars of the Spring framework: Dependency Injection (DI) and its strategies. 🔍 What you’ll learn:✅ What is a Bean in Spring Boot✅ How Spring Boot detects, scans,… Continue Reading
spring-boot Learning Spring Boot from Zero to Cloud: Part 14 – RequestParam josedacruz, March 30, 2025March 30, 2025 In this lesson, we dive deep into the @RequestParam annotation in Spring Boot. You’ll learn: ✅ How to use @RequestParam to extract query parameters from HTTP requests✅ The meaning of parameters like required, name, and defaultValue✅ The key differences between @RequestParam and @PathVariable✅ When to use @RequestParam vs. @PathVariable in… Continue Reading
Modularity josedacruz, July 27, 2023 Modularity is the name given, to the process of defining the components, parts, or modules into which a system or software can be divided. Continue Reading