LearningTech

📝

System Design Basics

Foundational concepts and fundamental questions

1. Hexagonal Architecture (Ports & Adapters)

Separates Domain Logic (core) from Infrastructure (DB, UI, API). Dependencies point inward. Adapters implement Port interfaces.

2. API Gateway Patterns

Handles AuthN/AuthZ, Rate Limiting, Routing, Protocol Translation (REST <-> gRPC). Keep logic minimal; don't put business logic in the gateway.

3. SAGA Pattern

Manages distributed transactions. Choreography: Events trigger next step. Orchestration: Central coordinator tells services what to do. Use compensating transactions for rollback.