Transactional outbox pattern example in Golang and MongoDB

For a personal project, I was experimenting with DDD. I was sending domain events through RabbitMQ to run choreography-based sagas. One problem I had was ensuring that the domain event got sent out after modifying aggregates. It’s not possible to run an atomic transaction through MongoDB and RabbitMQ, so there can be a situation where the aggregate is modified successfully in the database, but we won’t send an event because RabbitMQ is not available....

July 2, 2023 · 5 min

Learning stuff: Pulumi for AWS

I decided to make a habit of learning at least one new tool, technology every month and prepare a blog post about it. In recent months I focused mostly on the stuff I was dealing at work. Right now I’m reading “Atomic Habits” by James Clear, so that’s the first habit I would like to create. :) What is Pulumi This month I decided to check out Pulumi. Pulumi is an open-source infrastructure as code tool....

September 15, 2021 · 6 min