CategoryDesign Patterns

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 2: let’s see some code!

Last time I talked a bit about the new release of Entity Framework Core 3 and introduced the small demo I wrote to test the new features. Now let’s see some code! I took the liberty to update the repository on GitHub and split it into two projects. Example 1 is just a simple console […]

Categories: .NET, Design Patterns, Programming, Software Architecture

Let’s do some DDD with Entity Framework Core 3!

Few days ago Microsoft released Entity Framework Core 3, introducing a lot of improvements in both functionalities and performance ( and some breaking change as well). Now we have full support for very cool stuff like C# 8, Async Enumerables, plus a brand new LINQ provider. I’m using a lot Entity Framework in my daily […]

Categories: .NET, Design Patterns, EntityFramework, Programming, Software Architecture

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

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

© 2020 Davide Guida

Theme by Anders NorenUp ↑