Sending Reliable Event Notifications with Transactional Outbox Pattern
In this article, Dunith Dhanushka explains how the Transactional Outbox pattern can help solve the problem of dual writes in distributed systems. The article discusses the drawbacks of synchronous and...
Azure-PlantUML: Creating Visually Appealing and Memorable Diagrams for Azure Systems
Azure-PlantUML is a toolset for creating PlantUML diagrams with Azure components. It includes symbols, macros and stereotypes for all Azure services using official Microsoft Azure architecture icons. ...
C4-PlantUML: A Collection of PlantUML Diagrams for C4 Architecture Model
C4-PlantUML is an open-source project that provides a collection of PlantUML diagrams for the C4 architecture model, which is a simple and intuitive way to describe software architecture. These diagra...
Software Architecture Diagramming and Patterns
Learn how software architecture diagrams can help you plan for and implement changes in your network, visualize strategic initiatives, and stay ahead of your organization’s needs. We’ll cover the basi...
The C4 model for visualising software architecture
The C4 model is a set of hierarchical abstractions and diagrams - system context, containers, components, and code, which are notation independent. It is an easy to learn, developer-friendly approach ...
Dotnet Microservices
Building a dotnet 5 microservices (service-oriented architecture) with implementations on microservices with .net tools on real-world e-commerce microservices project including Catalog, Basket, Discou...
Workflow Engines Comparisons - Evaluating Netflix Conductor, Temporal (Uber Cadence), Zeebe, and Airflow for Workflow and Orchestration
Netflix Conductor, Temporal (Uber Cadence), Zeebe, and Airflow were evaluated for their use in various business scenarios, including data pipelines, AI/ML workflows, customer support workflows, and de...
Quick and Efficient Distributed Tracing in .NET
To log the complete call chains and see what your microservices really do, you need efficient distributed tracing in .NET. This article will guide you on how to implement it quickly using the AsyncLoc...
Airbnbs Microservices Architecture: Journey to Quality Engineering
This article discusses Airbnbs journey towards a microservices architecture and the impact on quality engineering. It covers the benefits and challenges of microservices and how Airbnb approached the ...
Mermaid Cheat Sheet | Algorithm, Data Structure, Programming, and More
This Mermaid Cheat Sheet is a comprehensive guide that covers various topics related to algorithm, data structure, programming, dev environment, and more. It includes overviews, examples and practice ...
Stream Your Database Changes with Change Data Capture
Change Data Capture (CDC) is a process that allows an application to listen for changes to a data store and respond to those events. In this multi-part series on Change Data Capture, we are going to d...
10 Software Architecture Patterns in Enterprise Software Development
In this article, JIN discusses ten software architecture patterns that are commonly used in enterprise software development. The article begins by explaining the importance of software architecture an...
Awesome Software Architecture
This is a comprehensive guide to software architecture, covering a wide range of topics including Actor Model Architecture, Akka .NET, Orleans, Protoactor, Clean Architecture, Onion Architecture, Hexa...
Implementing the microservice application layer using the Web API
Learn how to Implement the microservice application layer using the Web API in this article. The application layer can be implemented as part of the artifact (assembly) you are building, such as withi...
C# Channels - Async Data Pipelines
In this article, learn how to efficiently process data in a non-blocking way using the pipeline pattern. Compose and test pipelines using .NETs channels, and see how to cancel and handle errors. Imple...
Pipelines for C#
Pipelines is a library for implementing programs as Pipeline objects in C#. This library is inspired by Arlo Belshees talk, Refactoring to Async. Pipelines are a mechanism of separating a function tha...
Marrying RESTful HTTP with Asynchronous and Event-Driven Services
Building a successful microservice platform requires integrating disparate services and systems to produce a unified set of functionality, which can be achieved by using different communication styles...
Object Calisthenics: Principles for Better Object-Oriented Code
Ready to up your coding game? Object Calisthenics will help you create code that is cleaner, more flexible, more agile, and more reusable. Object Calisthenics were first introduced by Jeff Bay in The ...
The Outbox Pattern in Event-Driven ASP.NET Core Microservice Architectures
Learn how to build a resilient architecture with RabbitMQ, C#, Entity Framework, and the Transactional Outbox Pattern. In this guide, you will create two microservices that use events to publish chang...
Software Architecture Patterns: Basics and Benefits Explained
In this 4-minute read, Orkhan Huseynli introduces the five basic software architecture patterns and their benefits. He delves into layered architecture, event-driven architecture, microkernel architec...