OpenSleigh: a Saga management library for .NET Core

Hi All! Today I want to talk a bit about a pet project of mine I’ve been working on in the last few weeks. I called it OpenSleigh, it’s a Saga management library for .NET Core. For those who don’t know what the Saga Pattern is, Chris Richardson has a very good introduction on his […]

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

How to do Document-level locking on MongoDB and .NET Core – part 2

Hi All! Welcome back to the second article of the Series. Today we’re going to discuss a simple implementation of a locking technique on MongoDB. Last time we saw what optimistic and pessimistic locking mean and we talked about a possible implementation using two extra fields. Today instead we’ll dig into the code! As usual, […]

Categories: .NET, MongoDB, Programming

How to do Document-level locking on MongoDB and .NET Core – part 1

Hi All! Today we’re going to see how MongoDB handles locks and how we can achieve Document-level locking. The default MongoDB storage engine, WiredTiger, uses optimistic concurrency control, or OCC. In a nutshell, it assumes that multiple transactions can frequently complete without interfering with each other. wikipedia This basically means we’re somewhat sure that nobody […]

Categories: .NET, MongoDB, Programming, Software Architecture

Event Sourcing in .NET Core – part 4: query models

Hi All! Welcome to the fourth part of the series about Event Sourcing. This time we’ll see how we can leverage the events to refresh our Query Models. The last time we saw how we can make use of a message queue to publish domain events to other interested parties. As I mentioned last time, […]

Categories: .NET, ASP.NET, Design Patterns, Kafka, Microservices, MongoDB, Software Architecture

Write integration tests on MongoDB with .NET Core and Docker

Hi All! In this post, we’re going to explore a simple but effective way to write integration tests on MongoDB using .NET Core and Docker. A while ago I wrote a small series about Unit Testing on MongoDB. A lot has changed since then and I also received few requests to add more details. To […]

Categories: .NET, Docker, MongoDB, Programming, Testing

© 2021 David Guida

Theme by Anders NorenUp ↑