software architecture

Improving microservices reliability – part 2: Outbox Pattern

Welcome back to the second part of the Series. Today we’ll talk about the Outbox Pattern. Just to recap, last time we discussed how the 2-Phase-Commit technique can help us with distributed transactions. However, it may lead to unwanted side effects and performance issues. So is there any other approach we could take? Personally I’m […]

Improving microservices reliability – part 1: Two Phase Commit

Hi everyone! Today I would like to talk a bit about how we can improve reliability between microservices. This is the first article of the series and we’ll be focusing on the Two-Phase-Commit technique. It has been a while since my last article, this is the first one I write from Montreal. I moved here […]

Let’s do some DDD with Entity Framework Core 3 – part 3: better Value Objects

Here we go with the last article of the series. Last time we started digging into the code for Example 1 and saw how we can model an initial version of our Domain. Let’s see now what’s primitive obsession and how to avoid it. Took me a little bit to write this one. I got […]

Consuming message queues using .net core background workers – part 2: background workers

In the previous article of this series we talked a bit about Message Queues. This time instead I’ll be introducing Background Workers. Just to recap, Message Queues can be used to handle asynchronous communication between services, improving resiliency and scalability. Now, suppose you have an API for handling blog posts and tags. Every post can […]

Consuming message queues using .net core background workers – part 1: message queues

In this series we’ll talk a bit about message queues with RabbitMQ and how to integrate it in a C# WebAPI application using Background Workers. It’s hard sometimes to come up with a decent title. In this case I had to sit back and take some time to decide. I had a semi-clear idea of […]

Scroll to top