System Design Glossary

Concurrency Models

Thread-per-request Model

  • Blocking I/O

Reactive Programming

  • Non-blocking I/O
  • The program flow transforms from a sequence of synchronous operations, into an asynchronous stream of events.
  • Publisher and subscriber don’t need to be on the same thread

DDD (Domain-Driven Design)

此頁面正在建設中。
  • Hexagonal Architecture

Distributed System Patterns

  • Ambassador - Proxy pattern for offloading common connectivity tasks
  • Circuit Breaker - Prevents cascading failures in distributed systems
  • CQRS - Command Query Responsibility Segregation
  • Event Sourcing - Store state changes as sequence of events
  • Leader Election - Coordinate distributed nodes by electing a leader
  • Publisher/Subscriber - Asynchronous messaging pattern
  • Sharding - Horizontal partitioning of data across nodes

Event-Driven Architecture

See Event-Driven Architecture

Forward Proxy

See Proxy

Hexagonal Architecture

Also known as Ports and Adapters architecture.

Load Balancing Algorithms

  • Round Robin
  • Weighted Round Robin
  • Least Connections
  • IP Hash
  • Random

LMAX Exchange Architecture

High-performance trading architecture using disruptor pattern.

Reverse Proxy

See Proxy