Transactional Outbox Pattern (with Spring Boot, Debezium, and Kafka)
How the transactional outbox pattern, Debezium, and Kafka close the transaction-boundary gap — and what’s still unsolved once things become partly asynchronous?
Read postLatest writing
How the transactional outbox pattern, Debezium, and Kafka close the transaction-boundary gap — and what’s still unsolved once things become partly asynchronous?
Read postImplement a rate-limiter using Resilience4j and Spring Boot, and deal with calling it using code and returned headers.
Read postMatt Pocock’s open-source repository of AI-agnostic agent skills is designed for real engineering workflows. Time to stop “vibe coding”?
Read postStop an application from repeatedly calling a dependency that is already failing.
Read postIf a slow downstream service starts tying up threads or HTTP connections, a bulkhead caps the number of concurrent calls allowed to reach it, helping protect the rest of the application.
Read postBuckle up for a long post! Using logs and a sequence diagram to walk through the surprising number of steps in a relatively simple OAuth/OIDC interaction.
Read postCan we use Terraform for local development environments? Why not. Though its not the fastest.
Read postLet’s deploy the REST application from a previous post into a KIND cluster using the new Kubernetes Gateway API.
Read postIf you have found yourself copying chunks of a codebase, this may be for you.
Read postDomain-Driven Design (DDD) helps manage complex business logic in Spring Boot applications by enforcing a clear separation between the domain model (business rules) and the infrastructure layer (data persistence). But what does a non-anemic domain model look like?
Read post