Blog Index (A–Z)

Clear all
12 posts (filtered) Category: Distributed Systems
Conflict-free Replicated Data Type (CRDT)
Conflict-free Replicated Data Type (CRDT)

A Conflict-free Replicated Data Type (CRDT) is a data structure that allows multiple computers or systems to update shared data independently and concurrently without requiring coordination. Even if…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #crdt #conflict-free replication #conflict-free #replicated #data #type
Event Driven Architecture: A Complete Guide
Event Driven Architecture: A Complete Guide

Event Driven Architecture (EDA) is a modern software design pattern where systems communicate through events rather than direct calls. Instead of services requesting and waiting for responses, they…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #event-driven architecture #eda #pub/sub #event #driven #architecture
Eventual Consistency in Computer Science
Eventual Consistency in Computer Science

Eventual consistency is a consistency model used in distributed computing systems. It ensures that, given enough time without new updates, all copies of data across different nodes will…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #eventual consistency #consistency models #eventual #consistency #computer #science
Foreign Function Interfaces (FFI): A Practical Guide for Software Teams
Foreign Function Interfaces (FFI): A Practical Guide for Software Teams

Foreign Function Interfaces (FFIs) let code written in one language call functions or use data structures written in another. In practice, FFIs are the “bridges” that let high-level…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #ffi #foreign function interface #interop #foreign #function #interfaces #software
Message Brokers in Computer Science — A Practical, Hands-On Guide
Message Brokers in Computer Science — A Practical, Hands-On Guide

A message broker is middleware that routes, stores, and delivers messages between independent parts of a system (services, apps, devices). Instead of services calling each other directly, they…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #message broker #kafka #rabbitmq #pub/sub #loose coupling #modularity #architecture
Outbox Pattern in Software Development
Outbox Pattern in Software Development

The Outbox Pattern is a design pattern commonly used in distributed systems and microservices to ensure reliable message delivery. It addresses the problem of data consistency when a…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #outbox pattern #reliable messaging #transactional outbox #outbox #pattern #software #development
Polyglot Interop in Computer Science
Polyglot Interop in Computer Science

Polyglot interop (polyglot interoperability) refers to the ability of different programming languages to work together within the same system or application. Instead of being confined to a single…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #abi #binary compatibility #interop #polyglot #interoperability #multi-language #computer
Saga Pattern: Reliable Distributed Transactions for Microservices
Saga Pattern: Reliable Distributed Transactions for Microservices

A saga is a sequence of local transactions that update multiple services without a global ACID transaction. Each local step commits in its own database and publishes an…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #eventual consistency #consistency models #saga pattern #distributed transactions #microservices #saga #pattern
Two-Phase Commit (2PC) in Computer Science: A Complete Guide
Two-Phase Commit (2PC) in Computer Science: A Complete Guide

Two-Phase Commit (2PC) is a distributed transaction protocol that ensures all participants in a transaction either commit or abort changes in a coordinated way. It is widely used…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #two-phase commit #2pc #distributed transactions #two-phase #commit #computer #science
Understanding Application Binary Interface (ABI) in Software Development
Understanding Application Binary Interface (ABI) in Software Development

An Application Binary Interface (ABI) defines the low-level, binary-level contract between two pieces of software — typically between a compiled program and the operating system, or between different…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #abi #binary compatibility #interop #application #binary #interface #software
Understanding Idempotent in Computer Science
Understanding Idempotent in Computer Science

In computer science, the term idempotent describes an operation that produces the same result even if it is executed multiple times. In other words, no matter how many…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #idempotency #api design #idempotent #computer #science
Understanding Three-Phase Commit (3PC) in Computer Science
Understanding Three-Phase Commit (3PC) in Computer Science

Three-Phase Commit (3PC) is a distributed consensus protocol used to ensure that a transaction across multiple nodes in a distributed system is either committed by all participants or…

Read more →
Category: Distributed Systems #distributed systems #reliability #event-driven #three-phase commit #3pc #distributed transactions #three-phase #commit #computer #science