• Home
  • Speaking
  • Workshops
  • About
  • Contact
  • Newsletter
outbox-pattern inbox-pattern messaging resilience distributed-systems
What Happens to Outbox When the Database Goes Down?
29 Sep 2026

What Happens to Outbox When the Database Goes Down?

Every outbox explanation assumes the broker is what breaks. Here is what actually happens when the database is the thing that goes away.

saga-pattern compensation distributed-transactions messaging distributed-systems
Compensation Is Not Rollback
22 Sep 2026

Compensation Is Not Rollback

Rollback is a database primitive. Distributed systems don't have one, and treating compensation as if they did is how workflows quietly break.

idempotency concurrency messaging distributed-systems dotnet
Your Idempotency Check Has a Race in It
15 Sep 2026

Your Idempotency Check Has a Race in It

Idempotency at rest is easy. Two retries arriving at the same moment is the case that breaks the version most teams wrote.

eventual-consistency cap-theorem distributed-systems data-consistency
Eventual Consistency Explained
20 Aug 2026

Eventual Consistency Explained

Your data disagreeing with itself isn't a bug. It's a trade-off. What eventual consistency guarantees, where you're already relying on it, and how to design for it instead of getting bitten by it.

sagas distributed-systems long-running-workflows microservices orchestration choreography
image
14 Apr 2026

When Business Processes Outlive Your Request

A practical guide to designing long-running business processes with the Saga pattern - covering orchestration vs choreography, compensating transactions, timeouts, and observability.

claude-code ai-agents symlinks git developer-workflow
image
06 Apr 2026

Keep Your Claude Code Agents Out of the Team's Repo

How to keep Claude Code agents and skills out of shared repos using a dedicated config repo and symlinks.

vector-databases semantic-search pgvector
image
30 Mar 2026

Your Database Can't Read. Vector Databases Can.

What vector databases are, how they work, and when you actually need one - versus when pgvector is enough.

architecture distributed-systems async
image
04 Mar 2026

Async Does Not Mean Scalable

async/await frees threads but doesn't reduce work. Message queues move the bottleneck, they don't remove it. Here's what actually limits throughput in .NET systems.

  • Next Page
Irina Dominte - photo

Hi! Welcome to my blog

One email, every Tuesday

.NET, messaging, and distributed systems - the trade-offs the docs leave out.

Form not loading? Subscribe here.

Let's connect

My latest work

Getting Started: Messaging in .NET with NServiceBus See it on dometrain
MassTransit in .NET See it on dometrain
From Zero to Hero: gRPC in .NET course Web Api for the absolute beginner See it on dometrain
Web Api for the absolute beginner book See it on Amazon

Github Dev.to LinkedIn

All content © Irina Dominte