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

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

Bad test coverage results? No worries!

Yesterday I stumbled upon an “interesting” bug in the code coverage tool. In case you’re generating it (and I strongly encourage you to), please make sure you’re satisfied with the results. At work by policy we have to ensure at least 70% of test coverage. However in one of my projects I was getting way […]

Categories: .NET, Programming, Testing

© 2020 Davide Guida

Theme by Anders NorenUp ↑