CategoryMicroservices

Health checks with ASP.NET Core and Kubernetes

Health checks are a fundamental part of our APIs. I guess they fall in that category of “non-functional-but-heavily-required” things. More or less like a good part of the infrastructure code. They don’t add business value per se but have an enormous impact for IT people. More or less like DDD and Design Patterns. You can […]

Categories: ASP.NET, Docker, Kubernetes, Microservices, NuGet, Programming

Consuming message queues using .net core background workers – part 4: adding System.Threading.Channels

Apparently I was not done yet with this Series! Few days ago I got a comment on Part 3, asking how would I mix background workers with System.Threading.Channels . That comment first led me to write an introduction on the Channels library, which has been sitting on my ToDo list for too long. Then I […]

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

© 2020 Davide Guida

Theme by Anders NorenUp ↑