Service Bus is Azure’s fully managed enterprise message broker. It supports Queues (point-to-point) and Topics/Subscriptions (pub/sub). Choosing the right pattern prevents architectural headaches. Queues vs Topics Dead-Letter Queue Messages that fail processing N times go to a special DLQ for inspection and replay. Key Takeaways Use **Sessions** for ordered processing (FIFO for a specific session […]
Read more โCategory: Architecture
Event-Driven Architecture with Azure Event Grid
Azure Event Grid is the backbone of event-driven architectures on Azure. It’s a fully managed event routing service that uses a publish-subscribe model. Unlike messaging services (Service Bus, Event Hubs), Event Grid is optimized for reactive programming patterns where you want instant notifications of state changes. Event Grid Architecture Key Concepts Topics are endpoints where […]
Read more โDapr: Distributed Application Runtime Introduction
Dapr (Distributed Application Runtime) simplifies cloud-native development by abstracting away the complexity of distributed systems. It provides “building blocks” like Service Invocation, State Management, and Pub/Sub via a sidecar architecture. This means your code (C#, Go, Node) talks to localhost via HTTP/gRPC, and Dapr handles the infrastructure. The Sidecar Pattern Building Block: Pub/Sub Publish a […]
Read more โMicroservices Observability with OpenTelemetry
OpenTelemetry (OTel) is the merger of OpenTracing and OpenCensus. In 2020, it is becoming the CNCF standard for collecting metrics and traces. This guide shows how to instrument a .NET Core app to send traces to Jaeger. Setup Manual Instrumentation Key Takeaways Vendor-neutral instrumentation prevents lock-in. “Activity” in .NET 5+ is the native implementation of […]
Read more โClean Architecture in .NET: Practical Implementation
Clean Architecture keeps your business logic independent of frameworks and databases. Here’s how I implement it in .NET projects. The Layers Domain: Entities, value objects, domain events Application: Use cases, interfaces, DTOs Infrastructure: Database, external services WebAPI: Controllers, middleware Project Structure Dependency Rule Dependencies point inward. Domain has no dependencies. Application depends on Domain. Infrastructure […]
Read more โMediator Pattern in C#: Implementing with MediatR
MediatR implements the mediator pattern in .NET, decoupling request handling from the caller. It’s become my go-to for organizing application logic. Setup Request and Handler Using in Controller Benefits Decoupled handlers – easy to test Pipeline behaviors for cross-cutting concerns Clean controller actions References MediatR GitHub
Read more โ