Change Data Capture in PostgreSQL with .NET and Aspire

Change Data Capture in PostgreSQL with .NET and Aspire

September 16, 2026dotnetpostgresqlcdcchange-data-captureaspiremessagingnpgsqloutbox-pattern

How change data capture works in PostgreSQL: the WAL, logical decoding, replication slots and publications. Build a working CDC consumer in .NET with Npgsql and Aspire, and see when CDC beats the Outbox pattern.

Read more
Unlock Dependency Inversion: Who Owns the Interface?

Unlock Dependency Inversion: Who Owns the Interface?

September 2, 2026dotnetcsharpsolidarchitecturedependency-inversionports-and-adapters

Your solution is full of interfaces and you still can't swap anything. The Dependency Inversion Principle isn't about having abstractions — it's about who owns them. Ports, adapters, and the compile-time test that settles the argument in .NET.

Read more
NATS Message Broker in .NET: Subjects and Queue Groups

NATS Message Broker in .NET: Subjects and Queue Groups

July 22, 2026dotnetnatsmessagingmicroservicesnugetopen-sourcerabbitmqkafka

How the NATS message broker works in .NET: subjects and wildcard subscriptions, queue groups for load balancing, how NATS compares to RabbitMQ and Kafka, and validating every incoming message in one line with MessageValidation.NatsNet.

Read more
An unhandled error has occurred. Reload 🗙