CategorySoftware Architecture

Improving microservices reliability – part 3: Outbox Pattern in action

And here we are for the third and last part of the Series! Last time we talked about the Outbox Pattern and it’s now time to see it in action. The main idea is to persist in the same transaction the Entity data plus the Messages that will be eventually sent to the potential subscribers. […]

Categories: .NET, ASP.NET, Design Patterns, EntityFramework, Microservices, Programming, 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 […]

Categories: Design Patterns, Microservices, Programming, RabbitMQ, Software Architecture

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 […]

Categories: Design Patterns, Microservices, Programming, Software Architecture

Consuming message queues using .net core background workers – part 3: the code, finally

And here we go with the last part of this Series! This time we’re going to take a look at the code and see how a microservice can consume messages from a queue using a background worker. Last time I introduced Background Workers and some possible use cases. The possibilities are limitless and today we’re […]

Categories: .NET, ASP.NET, Microservices, Programming, RabbitMQ, Software Architecture

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 […]

Categories: .NET, ASP.NET, Programming, Software Architecture

© 2020 Davide Guida

Theme by Anders NorenUp ↑