How to deal with back-pressure on message queues with .NET Core

Hi All! In this post, we’re going to see a very simple way to deal with back-pressure on message queues. But first: what does actually mean “back-pressure” ? Well, imagine you’re at a bus stop, waiting in line to hop on the bus. And right in front of you, there’s a nice old lady with […]

Categories: .NET, Google Cloud Platform, Programming

Event Sourcing in .NET Core – part 3: broadcasting events

Hi all! Welcome to the third part of the series about Event Sourcing. This time we’ll see how we can tell other parts of our system that something has happened by broadcasting the events. And we will be doing this by pushing them to a distributed queue. Last time we discussed how we can leverage […]

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

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

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

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

© 2020 David Guida

Theme by Anders NorenUp ↑