-
posts
-
π‘ Orleans Streams: Reactive Messaging for Distributed Grains
Learn how Microsoft Orleans Streams enable real-time, event-driven communication between grains with examples and best practices. -
πΎ Actor Model in .NET β Intro to Microsoft Orleans
A friendly, practical introduction to the Actor Model and how to implement it with Microsoft Orleans (grains, silo, client). -
π§ͺ Understanding ACID Transactions with PostgreSQL
A practical guide to ACID transactions in PostgreSQL with examples for each property and isolation level. -
π PostgreSQL SKIP LOCKED β Build a simple, efficient task queue
How PostgreSQL's SKIP LOCKED helps implement high-throughput task queues without contention and why it's safer than polling with updates. -
π Pinned Object Heap (POH) β Why pinning matters and how POH helps
A friendly, practical deep-dive into the Pinned Object Heap: what pinning is, why it causes problems, and how POH (and good patterns) fix them. -
π¨ Message Retry as an alternative to Transactional Outbox
Transactional outbox is a well known pattern in microservices, which helps us to ensure that both database write operation and publishing messages to a message broker occur atomically, that is, both or none.
-
β‘οΈ Channels in C# β Building High-Throughput Async Pipelines
Comprehensive introduction into System.Threading.Channels β how they work, when to use them, and how to build efficient producer-consumer pipelines in C#. -
ποΈ Sagas in Microservices β Managing Distributed Transactions Gracefully
Learn how the Saga pattern keeps your microservices consistent without locking everything down. -
γ° C# String interning
In this artcile we're going to talk about string interning and how it can be used to improve a performance of our application -
π§΅ C# Interlocked.Add
In this article, weβre going to describe the problem weβll face when working with a shared variable from multiple threads and the effective way of solving it using
System.Threading.Interlocked.Add
.