Tagsoftware architecture

Event Sourcing in .NET Core – part 1: a gentle introduction

Event sourcing, aka “the great myth”. I’ve been thinking about writing a series of articles about this for a while, and now it’s time to put my hands back on the keyboard. I thought that with all this bull**it pandemic at least I could have had more time to write on this blog but it […]

Categories: .NET, ASP.NET, Design Patterns, Programming, Software 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

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 ↑